Zset(有序集合)
- 在set的基礎上,增加了一個值來進行排序
- set k1 v1
- zset k1 score1 v1
- 存儲班級成績表,工資表排序,熱搜排行榜
向集合中增值:
127.0.0.1:6379> zadd myset 1 one #添加一個值
(integer) 1
127.0.0.1:6379> zadd myset 2 two 3 three #添加多個值
(integer) 2
127.0.0.1:6379> zrange myset 0 -1
1) "one"
2) "two"
3) "three"
排序:
127.0.0.1:6379> zadd salary 3000 zhangsan
(integer) 1
127.0.0.1:6379> zadd salary 1000 lyr
(integer) 1
127.0.0.1:6379> zadd salary 200 kx
(integer) 1
127.0.0.1:6379> zrangebyscore salary -inf +inf #顯示所有用戶,由小到大排序
1) "kx"
2) "lyr"
3) "zhangsan"
127.0.0.1:6379> zrevrange salary 0 -1 #顯示所有用戶,由大到小排序
1) "zhangsan"
2) "lyr"
3) "kx"
127.0.0.1:6379> zrangebyscore salary -inf +inf withscores #顯示所有用戶,由小到大排序並且附帶成績
1) "kx"
2) "200"
3) "lyr"
4) "1000"
5) "zhangsan"
6) "3000"
移除:
127.0.0.1:6379> zrange salary 0 -1
1) "kx"
2) "lyr"
3) "zhangsan"
127.0.0.1:6379> zrem salary zhangsan #移除指定元素
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "kx"
2) "lyr"
127.0.0.1:6379> zcard salary #獲取集合中的個數
(integer) 2
127.0.0.1:6379> zadd myset 1 hello 2 world 3 redis
(integer) 3
127.0.0.1:6379> zcount myset 1 2 #獲取指定區間的成員數量
(integer) 2
127.0.0.1:6379> zcount myset 1 3
(integer) 3