Reids数据类型Zset常用操作命令

1.【zadd】添加一个或多个

zadd key score1 member1 [ score2 member2 ]
127.0.0.1:6379> zadd name 1 zhangsan 2 lisi 3 wangwu 4 zhaoliu 5 libai 6 baidu
(integer) 6
127.0.0.1:6379> zrange name 0 -1		//查看集合中的数据
1) "zhangsan"
2) "lisi"
3) "wangwu"
4) "zhaoliu"
5) "libai"
6) "baidu"
127.0.0.1:6379> 

2.【zcard】获取有序集合的成员数

zcard key
127.0.0.1:6379> zcard name
(integer) 6
127.0.0.1:6379> 

3.【zcount】指定索引区间统计数量

zcount key min max
127.0.0.1:6379> zcount name 1 6		//索引区间就是值下标范围
(integer) 6
127.0.0.1:6379> zcount name 1 5
(integer) 5
127.0.0.1:6379> 

4.【zincrby】对有序集合成员的分数自增

zincrby key increment member
127.0.0.1:6379> zincrby name 1 baidu
"7"
127.0.0.1:6379> zrange name 0 -1 withscores			//查看value值和score值
 1) "zhangsan"
 2) "1"
 3) "lisi"
 4) "2"
 5) "wangwu"
 6) "3"
 7) "zhaoliu"
 8) "4"
 9) "libai"
10) "5"
11) "baidu"
12) "7"			//已经自增加1
127.0.0.1:6379> 

5.【zinterstore】运算交集并存至新集合

zinterstore destination numkeys key [ key . . . ]
127.0.0.1:6379> zadd name1 1 zhangsan 2 lisi		//创建一个新对象
(integer) 2
127.0.0.1:6379> zinterstore name2 2 name name1		//2代表操作交集的集合是两个name和name1
(integer) 2
127.0.0.1:6379> zrange name2 0 -1
1) "zhangsan"
2) "lisi"
127.0.0.1:6379> 

6.【zlexcount】指定字典区间内成员数量

zlexcount key min max
127.0.0.1:6379> del name		//将原先的name集合删除
(integer) 1
127.0.0.1:6379> zadd name 0 zhangsan 0 lisi 0 wangwu 0 zhaoliu 0 libai 0 baidu
(integer) 6
127.0.0.1:6379> 
127.0.0.1:6379> zrange name 0 -1 withscores		//使用lex命令score必须是相同的
 1) "baidu"			//这个就是指字典区间
 2) "0"
 3) "libai"			//这个就是指字典区间
 4) "0"
 5) "lisi"			//这个就是指字典区间
 6) "0"
 7) "wangwu"		//这个就是指字典区间
 8) "0"
 9) "zhangsan"		//这个就是指字典区间
10) "0"
11) "zhaoliu"		//这个就是指字典区间
12) "0"
127.0.0.1:6379> zlexcount name - +		//-代表第一个 +代表最后一个
(integer) 6
127.0.0.1:6379> zlexcount name - [zhaoliu		//第一个 至 赵六(包含赵六)
(integer) 6
127.0.0.1:6379> zlexcount name - (zhaoliu		//第一个 至 赵六(不包含赵六)
(integer) 5
127.0.0.1:6379> zlexcount name - [zhangsan		//第一个 至 张三(包含张三)
(integer) 5
127.0.0.1:6379> zlexcount name - (zhangsan		//第一个 至 张三(不包含张三)
(integer) 4
127.0.0.1:6379> zlexcount name (libai (zhangsan		//李白(不包含李白) 至 张三(不包含张三)
(integer) 2
127.0.0.1:6379> zlexcount name [libai (zhangsan		//李白(包含李白) 至 张三(不包含张三)
(integer) 3
127.0.0.1:6379> 

7.【zrange】查询所有数据

zrange key start stop [ withscores ]
127.0.0.1:6379> zrange name 0 -1		//0代表从开始 -1代表到结束
1) "baidu"
2) "libai"
3) "lisi"
4) "wangwu"
5) "zhangsan"
6) "zhaoliu"
127.0.0.1:6379> zrange name 0 -1 withscores		//withscores代表输出score值
 1) "baidu"
 2) "0"
 3) "libai"
 4) "0"
 5) "lisi"
 6) "0"
 7) "wangwu"
 8) "0"
 9) "zhangsan"
10) "0"
11) "zhaoliu"
12) "0"

8.【zrangebylex】通过字典区间返回有序集合的成员

zrangebylex key min max [ limit offset count ]
127.0.0.1:6379> zrange name 0 -1 withscores		//使用lex命令,score必须是相同的,字典区间可以理解成value值
 1) "baidu"
 2) "0"
 3) "libai"
 4) "0"
 5) "lisi"
 6) "0"
 7) "wangwu"
 8) "0"
 9) "zhangsan"
10) "0"
11) "zhaoliu"
12) "0"
127.0.0.1:6379> zrangebylex name - [zhangsan	//-代表开始 +代表结束 [代表包含 (代表不包含
1) "baidu"
2) "libai"
3) "lisi"
4) "wangwu"
5) "zhangsan"
127.0.0.1:6379> zrangebylex name - [libai
1) "baidu"
2) "libai"
127.0.0.1:6379> zrangebylex name [libai [zhangsan
1) "libai"
2) "lisi"
3) "wangwu"
4) "zhangsan"
127.0.0.1:6379> zrangebylex name (libai (zhangsan
1) "lisi"
2) "wangwu"
127.0.0.1:6379>

9.【zrangebyscore】通过score返回有序集合指定区间内的成员

zrangebyscore key min max [ withscores ] [ limit ]
127.0.0.1:6379> zadd name 1 zhangsan 2 lisi 3 wangwu 4 zhaoliu
(integer) 4
127.0.0.1:6379> zrangebyscore name 1 3 		//根据score筛选,score无需都相同
1) "zhangsan"
2) "lisi"
3) "wangwu"
127.0.0.1:6379> zrangebyscore name 1 2
1) "zhangsan"
2) "lisi"
127.0.0.1:6379> 

10.【zrank】返回有序集合中指定成员的索引

zrank key member
127.0.0.1:6379> zrange name 0 -1
1) "zhangsan"
2) "lisi"
3) "wangwu"
4) "zhaoliu"
127.0.0.1:6379> zrank name lisi			//指的是集合中下标的位置,从0开始
(integer) 1
127.0.0.1:6379> 

11.【zrem】移除

zrem key member [ member . . . ]
127.0.0.1:6379> zrange name 0 -1
1) "zhangsan"
2) "lisi"
3) "wangwu"
4) "zhaoliu"
127.0.0.1:6379> zrem name zhangsan lisi		//删除zhangsan 和 lisi
(integer) 2
127.0.0.1:6379> zrange name 0 -1
1) "wangwu"
2) "zhaoliu"
127.0.0.1:6379> 

12.【zremrangebylex】移除-根据字典区间范围删除

zremrangebylex key min max
127.0.0.1:6379> zrange name1 0 -1 withscores	//使用lex命令,lex就是根据val(member)做操作,必须score必须相同
1) "baidu"		//这叫字典区间
 2) "0"					//这叫分数区间
 3) "libai"		//这叫字典区间
 4) "0"					//这叫分数区间
 5) "lisi"		//这叫字典区间
 6) "0"					//这叫分数区间
 7) "wangwu"	//这叫字典区间
 8) "0"					//这叫分数区间
 9) "zhangsan"	//这叫字典区间
10) "0"					//这叫分数区间
11) "zhaoliu"	//这叫字典区间
12) "0"					//这叫分数区间
127.0.0.1:6379> zremrangebylex name1 [baidu [libai //[代表包含 (代表不包含 指定移除
(integer) 2
127.0.0.1:6379> zremrangebylex name1 (lisi [wangwu
(integer) 1
127.0.0.1:6379> zrange name1 0 -1
1) "lisi"
2) "zhangsan"
3) "zhaoliu"
127.0.0.1:6379> zremrangebylex name1 - +	//-代表开始 +代表结束  全部移除
(integer) 3
127.0.0.1:6379> zrange name1 0 -1
(empty list or set)
127.0.0.1:6379> 

13.【zremrangebyrank】移除-根据索引区间删除

zremrangebyrank key start stop
127.0.0.1:6379> zadd name 10 zhangsan 11 lisi 12 wangwu 13 zhaoliu 14 libai
(integer) 5
127.0.0.1:6379> zremrangebyrank name 0 3 	//索引区间删除就是根据下标范围删除 删除下标0-3,集合中下标从0开始
(integer) 4
127.0.0.1:6379> zrange name 0 -1 	//查询集合中所有数据
1) "libai"
127.0.0.1:6379> 

14.【zremrangebyscore】移除-根据分数区间删除

zremrangebyscore key min max
127.0.0.1:6379> zrange name 0 -1 withscores
 1) "zhangsan"
 2) "10"
 3) "lisi"
 4) "11"
 5) "wangwu"
 6) "12"
 7) "zhaoliu"
 8) "13"
 9) "libai"
10) "14"
127.0.0.1:6379> zremrangebyscore name 10 12		//分数区间就是根据score范围删除,删除socre在10-12的数据
(integer) 3
127.0.0.1:6379> zrange name 0 -1 withscores
1) "zhaoliu"
2) "13"
3) "libai"
4) "14"
127.0.0.1:6379> 

15.【zrevrange】排序-根据索引区间倒叙

zrevrange key start stop [ withscores ]
127.0.0.1:6379> del name  //索引区间 就是指 下标范围
(integer) 1
127.0.0.1:6379> zadd name 10 a 13 b 11 c 18 d 15 e
(integer) 5
127.0.0.1:6379> zrevrange name 0 4 withscores  //根据指定的下标范围,对score排序, 0 和 4 是集合的下标
 1) "d"
 2) "18"
 3) "e"
 4) "15"
 5) "b"
 6) "13"
 7) "c"
 8) "11"
 9) "a"
10) "10"
127.0.0.1:6379> 

16.【zreverangebyscore】排序-根据分数区间倒叙

zreverangebyscore key max min [ withscores ]
127.0.0.1:6379> zrange name 0 -1 withscores
 1) "a"
 2) "10"
 3) "c"
 4) "11"
 5) "b"
 6) "13"
 7) "e"
 8) "15"
 9) "d"
10) "18"
127.0.0.1:6379> zrevrangebyscore name 18 10 withscores //分数区间就是score值倒叙
 1) "d"
 2) "18"
 3) "e"
 4) "15"
 5) "b"
 6) "13"
 7) "c"
 8) "11"
 9) "a"
10) "10"
127.0.0.1:6379> 

17.【zrevrank】查询值的倒叙下标位置

zrevrank key member
127.0.0.1:6379> zrange name 0 -1 withscores
 1) "a"
 2) "10"
 3) "c"
 4) "11"
 5) "b"
 6) "13"
 7) "e"
 8) "15"
 9) "d"
10) "18"
127.0.0.1:6379> zrevrank name a //指定值,返回该值的排序位置,倒叙
(integer) 4
127.0.0.1:6379> zrevrank name d
(integer) 0
127.0.0.1:6379> zrevrank name e
(integer) 1
127.0.0.1:6379> 

18.【zscore】查询值的score

zscore key member
127.0.0.1:6379> zscore name a
"10"
127.0.0.1:6379> zscore name b
"13"
127.0.0.1:6379> 

19.【zunionstore】计算给定的一个或多个有序集的并集,并存储在新的 key 中

zunionstore destionation numkeys key  [ key . . .]
127.0.0.1:6379> zadd name 1 a 2 b 3 c 4 d
(integer) 4
127.0.0.1:6379> zadd name1 1 e 2 f
(integer) 2
127.0.0.1:6379> zunionstore name2 2 name name1
(integer) 4
127.0.0.1:6379> zrange name2 0 -1
1) "a"
2) "c"
3) "b"
4) "d"
5) "e"
6) "f"
127.0.0.1:6379> 

20.【zscan】迭代有序集合中的元素(包括元素成员和元素分值)

zscan key cursor [ match pattern ] [ count count ]
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> zadd site 1 Google 2 Runoob 3 Tbaobao 4 Weibo
(integer) 4
127.0.0.1:6379> zscan site 0 match *Run*
1) "0"
2) 1) "Runoob"
   2) "2"
127.0.0.1:6379> 

没有云服务的话,可以自己装一个虚拟机
或者用阿贝云免费云服务器都可以
主要是学习使用

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

新时代农民工-码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值