Redis五大数据类型——Redis-Zset(有序集合)

Redis-Zset 笔记

Redis 是一个开源(BSD 许可)的内存数据结构存储,用作数据库、缓存、消息代理和流引擎。Redis 提供数据结构,例如 字符串、散列、列表、集合、带范围查询的排序集合、位图、超日志、地理空间索引和流。Redis 内置了复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久性,并通过以下方式提供高可用性Redis 哨兵(Sentinel)和Redis Cluster的自动分区。

我们现在讲解的所有命令大家一定要全部记住,后面我们使用SpringBoot、Jedis,所有的方法就是这些命令。

单点登录

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 3 three
(integer) 1
127.0.0.1:6379> zadd myset 4 four 5 five   # 添加多个值
(integer) 2
127.0.0.1:6379> zrange myset 0 -1
1) "one"
2) "three"
3) "four"
4) "five"
################################################################################################
# 实现排序

127.0.0.1:6379> zadd salary 2500 xiaoming      		# 添加三个用户
(integer) 1
127.0.0.1:6379> zadd salary 5000 zhangsan
(integer) 1
127.0.0.1:6379> zadd salary 500 jgy
(integer) 1
127.0.0.1:6379> zrangebyscore salary -inf +inf       # 显示所有的用户,从小到大
1) "jgy"
2) "xiaoming"
3) "zhangsan"
127.0.0.1:6379> zrevrangebyscore salary +inf -inf    # 显示所有的用户,从大到小(反转)
1) "zhangsan"
2) "xiaoming"
3) "jgy"
127.0.0.1:6379> zrevrange salary 0 -1			# 显示所有的用户,从大到小
1) "zhangsan"
2) "xiaoming"
3) "jgy"
127.0.0.1:6379> zrangebyscore salary -inf +inf withscores  #显示全部的用户并附带成绩
1) "jgy"
2) "500"
3) "xiaoming"
4) "2500"
5) "zhangsan"
6) "5000"
127.0.0.1:6379> zrangebyscore salary -inf 2500 withscores   # 显示工资小于2500员工的升序排序!
1) "jgy"
2) "500"
3) "xiaoming"
4) "2500"
################################################################################################
#移除rem中的元素

127.0.0.1:6379> zrange salary 0 -1
1) "jgy"
2) "xiaoming"
3) "zhangsan"
127.0.0.1:6379> zrem salary xiaoming    # 移除有序集合中的指定元素
(integer) 1
127.0.0.1:6379> zrange salary 0 -1
1) "jgy"
2) "zhangsan"
127.0.0.1:6379> zcard salary  		# 获取有序集合中的个数
(integer) 2
################################################################################################

127.0.0.1:6379> zadd myset 1 hello
(integer) 1
127.0.0.1:6379> zadd myset 2 jgy
(integer) 1
127.0.0.1:6379> zcount myset 1 3       # 获取指定区间的成员数量!
(integer) 2


其余的一些API,工作如果有需要,我们可通过看官网文档来学习剩余的一些!

案例思路:set 排序 存储班级成绩表,工资表排序!

普通消息:1, 重要消息:2 , 带权重进行判断!

排行榜应用实现,取Top N 测试!


PS: 感谢b站秦老师(遇见狂神说),这些笔记都是看他免费课程记下的。 大家觉得文档不错的话,那就请去支持一波!

你可能感兴趣的:(Redis,redis)