zoukankan      html  css  js  c++  java
  • redis sortedSet

    zset 和set 相比:

    zset 类型和set类型一样,不允许有重复的元素。zset是有序的,zset 有一个double类型的分数,这个分数可以重复,zset正是通过这个分数对集合中的元素从小到大排序的。

    zset 和list 相比:

    zset 和list 都是有序的,list是通过在链表实现的,两头取值快,中间取值慢;zet是用哈希表和跳跃表(二叉树)来实现的,两头中间添加删除查找都很快。

    我们可以按照zset 的分数score进行排序和过滤查询


    // 添加元素

    zadd zset 1 c 2 i 5 o 9 p 3 a 

    zadd zset 4 u // 插入元素

    zadd zset 10 c  // 修改元素c的分数为10,返回0,表示没有插入新的元素 ——> zadd key score element,这个命令即可以添加元素,也可以修改已有元素的分数

    zadd zset ch 15 c // 修改元素的分数的15,返回1,表示有一个分数被修改

    zadd zset nx 20 c  // nx 不更新,只添加,如果元素存在,无效

    zadd zset xx 20 c  // xx 只更新,不添加,如果元素不存在,无效

    zadd zset incr 2 c  // 指定元素分数增加2


    查询元素

    zrange zset  0 -1 [withscores]  // 按照下标查询

    zrevrange zset 0 1 [withscores] // 按照下标查询,反序,即最后一个元素的下标是0,倒数第二个元素的下标是1

    zrangebyscore zset 2 4 [withscores]  [LIMIT offset count]    // 按照分数查询

    zrevrangebyscore zset 2 2 [withscores] // 按照分数查询,反序 


    查询分数

    zscore zset y // 返回指定成员的分数


    查询元素索引

    zrank zset p // 返回指定成员的索引,从小到大

    zrevrank zset p // 返回指定成员的索引,从大到小


    查询元素个数

    zcard zset  // 返回元素个数

    zcount zset 1 2  // 返回分数1到2之间的元素个数


    修改分数

    zincrby zset 3 c  // 分数加上3


    删除元素

    zrem zset p // 删除p 元素

    zremrangebyrank zset 4 10  // 根据下标删除元素

    zremrangebyscore zset 4 5  // 根据分数删除元素

  • 相关阅读:
    TensorFlowMNIST数据集逻辑回归处理
    TensorFlow多元线性回归实现
    TensorFlow简单线性回归
    mysql ON DUPLICATE KEY UPDATE
    20200908 morning diary
    LambdaUtil
    数据库SQL自我书写册
    getMyFriendsListFromWeChat()
    MySQL8.*的JSON语法知多少
    Exception in thread "main" java.lang.IllegalArgumentException: Cannot deserialize instance of `java.lang.String` out of START_ARRAY token at [Source: UNKNOWN; line: -1, c
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/9560567.html
Copyright © 2011-2022 走看看