文章目录
- 1.【zadd】添加一个或多个
- 2.【zcard】获取有序集合的成员数
- 3.【zcount】指定索引区间统计数量
- 4.【zincrby】对有序集合成员的分数自增
- 5.【zinterstore】运算交集并存至新集合
- 6.【zlexcount】指定字典区间内成员数量
- 7.【zrange】查询所有数据
- 8.【zrangebylex】通过字典区间返回有序集合的成员
- 9.【zrangebyscore】通过score返回有序集合指定区间内的成员
- 10.【zrank】返回有序集合中指定成员的索引
- 11.【zrem】移除
- 12.【zremrangebylex】移除-根据字典区间范围删除
- 13.【zremrangebyrank】移除-根据索引区间删除
- 14.【zremrangebyscore】移除-根据分数区间删除
- 15.【zrevrange】排序-根据索引区间倒叙
- 16.【zreverangebyscore】排序-根据分数区间倒叙
- 17.【zrevrank】查询值的倒叙下标位置
- 18.【zscore】查询值的score
- 19.【zunionstore】计算给定的一个或多个有序集的并集,并存储在新的 key 中
- 20.【zscan】迭代有序集合中的元素(包括元素成员和元素分值)
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>
没有云服务的话,可以自己装一个虚拟机
或者用阿贝云免费云服务器都可以
主要是学习使用