本文学redis常用数据类型有序集合Zset基本操作与底层数据结构
1. 基本操作
# zadd <key> <score> <member>将多个member元素及其score值加入有序集合key中
127.0.0.1:6379> zadd top 100 java 99 python 98 vue
(integer) 3
# zrange由小到大返回有序集合指定下标内元素
# zrange <key> <start> <stop>
127.0.0.1:6379> zrange top 0 -1
1) "vue"
2) "python"
3) "java"
# zrevrange由大到小返回有序集合指定下标内元素
127.0.0.1:6379> zrevrange top 0 -1
1) "java"
2) "python"
3) "vue"
# zrange返回有序集合指定下标内元素及评分
127.0.0.1:6379> zrange top 0 -1 WITHSCORES
1) "vue"
2) "98"
3) "python"
4) "99"
5) "java"
6) "100"
# zrangebyscore返回有序集合指定评分范围内元素
127.0.0.1:6379> zrangebyscore top 99 100
1) "python"
2) "java"
# zincrby <key> <increment> <member> 给有序集合中元素评分+增量
127.0.0.1:6379> zincrby top 1 python
"100"
# zrem删除有序集合中元素
127.0.0.1:6379> zrem top vue
(integer) 1
# zcount统计有序集合指定评分范围内数量
127.0.0.1:6379> zcount top 100 100
(integer) 2
# zrank返回有序集合中元素排名
127.0.0.1:6379> zrank top python
(integer) 1
3. 底层数据结构
127.0.0.1:6379> object encoding top
"listpack"
127.0.0.1:6379> zadd top 96 mysql 95 mongo 94 elasticsearch 93 clickhouse 92 spark 91 k8s2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
(integer) 1
127.0.0.1:6379> object encoding top
"skiplist"
由上可知,Zset底层数据结构为压缩列表listpack和跳跃表skiplist[结构如下图]
标签:127.0,Zset,0.1,数据类型,top,Redis,6379,有序,集合 From: https://www.cnblogs.com/shenjian-online/p/16845758.html