tian@yuan:/usr/local/bin$ redis-cli
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> zadd topn 500 c++ 200 shell 400 java 100 python ---- 将多个score-value添加到有序集合topn中[以score的大小来排序的]
(integer) 4
127.0.0.1:6379> zrange topn 0 -1
1) "python"
2) "shell"
3) "java"
4) "c++"
127.0.0.1:6379> zrange topn 0 -1 withscores
1) "python"
2) "100"
3) "shell"
4) "200"
5) "java"
6) "400"
7) "c++"
8) "500"
127.0.0.1:6379> zrange topn 0 3 --- 返回topn中0<=index<=3的值,默认是score从小到大排序输出
1) "python"
2) "shell"
3) "java"
4) "c++"
127.0.0.1:6379> zrange topn 0 2
1) "python"
2) "shell"
3) "java"
127.0.0.1:6379> zrangebyscore topn 200 500
1) "shell"
2) "java"
3) "c++"
127.0.0.1:6379> zrangebyscore topn 200 500 withscores --- 输出topn中200<=score<=500,并且以从小到大排序输出
1) "shell"
2) "200"
3) "java"
4) "400"
5) "c++"
6) "500"
127.0.0.1:6379> zrevrangebyscore topn 200 500 withscores
(empty array)
127.0.0.1:6379> zrevrangebyscore topn 500 200 withscores --- 获取topn中200<=score<=500,并且以从大到小排序输出
1) "c++"
2) "500"
3) "java"
4) "400"
5) "shell"
6) "200"
127.0.0.1:6379> zincrby topn python 300
(error) ERR value is not a valid float
127.0.0.1:6379> zincrby topn 300 python ----- 向topn中的python的score增加300[如果是-300,则score-300]
"400"
127.0.0.1:6379> zrange topn 0 -1 withscores
1) "shell"
2) "200"
3) "java"
4) "400"
5) "python"
6) "400"
7) "c++"
8) "500"
127.0.0.1:6379> zrem topn shell --- 删除topn中的shell
(integer) 1
127.0.0.1:6379> zrange topn 0 -1 withscores ---- 获取topn中所有的值[按score值从小到大排序]
1) "java"
2) "400"
3) "python"
4) "400"
5) "c++"
6) "500"
127.0.0.1:6379> zcount topn 450 500
(integer) 1
127.0.0.1:6379> zcount topn 400 400 --- 获取topn中score值在[400,400]个数
(integer) 2
127.0.0.1:6379> zrank topn python --- 获取python在topn中的位置
(integer) 1
127.0.0.1:6379> zrank topn python1
(nil)
127.0.0.1:6379>
Redis 有序集合zset基本操作
最新推荐文章于 2024-07-19 17:17:06 发布