Redis五大数据类型之Zset
Posted 王六六的IT日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis五大数据类型之Zset相关的知识,希望对你有一定的参考价值。
Redis 概述
五大数据类型
1.String(字符串)
2.List(列表)
3.Set(集合)
4.Hash(哈希)
5.Zset(有序集合)
在set的基础上,增加了一个值:set k1 v1 zset k1 score1 v1
命令是z
开头
添加(zadd
) 遍历查看(zrange
)
127.0.0.1:6379> zadd myset 1 one # 添加一个值
(integer) 1
127.0.0.1:6379> zadd myset 2 two
(integer) 1
127.0.0.1:6379> zadd myset 3 three 4 four # 添加多个值
(integer) 2
127.0.0.1:6379> zrange myset 0 -1
1) "one"
2) "two"
3) "three"
4) "four"
排序 zrangebyxx
127.0.0.1:6379> zadd salary 2500 xiaohong # 添加三个用户
(integer) 1
127.0.0.1:6379> zadd salary 5000 zhangsan
(integer) 1
127.0.0.1:6379> zadd salary 500 wanzi
(integer) 1
# zrangebyscore key min max
127.0.0.1:6379> zrangebyscore salary -inf +inf # 显示全部的用户,从小到大!
1) "wanzi"
2) "xiaohong"
3) "zhangsan"
127.0.0.1:6379> zrevrange salary 0 -1 # 从大到进行排序!
1) "zhangsan"
2) "kaungshen"
127.0.0.1:6379> zrangebyscore salary -inf +inf withscores # 显示全部的用户并且附带成绩
1) "wanzi"
2) "500"
3) "xiaohong"
4) "2500"
5) "zhangsan"
6) "5000"
127.0.0.1:6379> zrangebyscore salary -inf 2500 withscores # 显示工资小于2500员工的升序排序!
1) "wanzi"
2) "500"
3) "xiaohong"
4) "2500"
移除元素 zrem
127.0.0.1:6379> zrange salary 0 -1
1) "wanzi"
2) "xiaohong"
3) "zhangsan"
127.0.0.1:6379> zrem salary xiaohong # 移除有序集合中的指定元素
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "wanzi"
2) "zhangsan"
127.0.0.1:6379> zcard salary # 获取有序集合中的个数
(integer) 2
获取指定区间的成员数量 zcount
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> zadd myset 1 hello 2 world 3 wanzi
(integer) 3
127.0.0.1:6379> zcount myset 1 2 # 获取指定区间的成员数量
(integer) 2
127.0.0.1:6379> zcount myset 1 3
(integer) 3
其余的一些API,通过我们的学习吗,剩下的如果工作中有需要,可以去查查看官方文档!
案例思路:
- set排序 👉存储班级成绩表👉工资表排序。
- 带权重进行判断:普通消息👉1;重要消息 👉2;
- 有序集合:排行榜应用实现👉取Top N 测试!
以上是关于Redis五大数据类型之Zset的主要内容,如果未能解决你的问题,请参考以下文章
Redis入门--- 五大数据类型 以及三大特殊类型 ---Zset,Geospatial,Hyperloglog,Bitmap