有序集合似乎更大的操作是由于加了一个叫做“分子”的东西 事实上就好像普通的数据,只是为这个数据加了一个纯数字的标识, 通过操作这些标识来得到我们想要的数据! 分子可以是整形,也可以是双精度浮点型: ==================================================== 1.zadd num 100 a 80 b 70 c 添加一个叫num的有序集合,a元素为100分,b元素为80分.... 2.zscore num a 获取num集合中元素名为a的分子 ==================================================== 3.zrange num 0 2 返回num集合中从0索引开始到2索引!按从小到大的顺序 返回 c b a 4.zrange num 0 2 withscores 跟上面一样,只不过会将分子也同时输出出来 c 70 b 80 a 100 5.zrevrange 跟上面两个一样的用法,区别是从大到小排序 ==================================================== 6.zrangebyscore num 80 100 返回分子80 - 100之间的所有元素 7.zrangebysocre num (80 100 返回分子81 - 100之间的所有元素,加半个括号代表不包含当前端点 8.上述2个命令可以加上withscores,把分子跟元素同时显示出来 ===================================================== 9.zrangebysocre num 60 200 limit 0 2 获取num集合中分子60 - 200之间的前2个(索引0开始,取2个) ===================================================== 10.zincrby num 4 a (用负数就可以减分) 给num集合中元素名为a的分子+4 11.zcard num 获取num集合中元素个数 12.zcount num 80 200 获取num集合中分子80到200间共有多少个元素 13.zrem num a 删除a 14.zremrangebyrank num 0 2 删除num集合从索引0开始到索引2位置的3个元素(包括分子一并删除) 15.zremrangebysocre num 40 200 删除num集合中分子在40到200之间的所有元素(包括分子一并删除) 16.zrank num a 返回将num中的元素按照分子从小到大排序后,a的元素的位置 zrevrank num a 相反,从大到小排序 17.zinterstore num5 2 num2 num 将num2与num中对应元素的分子相加,将结果存入到num5中 zadd num1 1 a 2 b 3 c zadd num2 10 c 20 a 30 b zinterstore num3 2 num1 num2 zrange num3 0 -1 withscores 返回: c 23 b 32 a 21 18.zinterstore num5 2 num2 num aggregate min 跟上述一样,只不过只需要最小的值参与 返回: c 3 b 2 a 1 19.zinterstore num5 2 num2 num aggregate max 最大值参与
Redis 四:存储类型之有序集合,布布扣,bubuko.com
时间: 2024-10-13 20:46:57