redis我记不住的那些命令(六)
背景:我记不住那么多命令,又是Linux命令,又是Git命令,又是kubernetes的命令,又是maven命令,又是redis命令。所谓好记性不如烂笔头,记下来吧。
一、zset(有序集合)
1. zadd : 添加一个元素或多个元素到有序集合中,格式为: zadd key score value
2. zcard : 获取有序集合中元素的数量
3. zrem : 从有序集合中删除给定的成员,并返回被删除成员的数量
4. zincrby : 给有序集合中的某个元素的分值加上increment
5. zrank : 返回有序集合中指定元素的名次,按分值score的大小从低到高进行排序即正序,返回元素的索引值(0, n-1)
6. zrevrank : 返回有序集合中指定元素的名次,按分值score的大小从高到低进行排序即逆序,返回元素的索引值(0, n-1)
7. zscore : 返回某个元素的分值
8. zcount : 在有序集合中指定区间分数的元素数
9. zrange : 返回有序集合中排名介于min和max之间的成员,左闭右闭,如果给定withscores选项,并将此成员的分值一并返回,排名是按照score大小从低到高
10. zrevrange : 返回有序集合中排名介于min和max之间的成员,左闭右闭,如果给定withscores选项,并将此成员的分值一并返回,排名是按照score大小从高到低
11. zrangebyscore : 返回有序集合中分值score在min和max之间的所有元素,格式为: zrangebyscore key min max , 排名是按照score大小从低到高
12 zrevrangebyscore : 返回有序集合中分值score在max和min之间的所有元素,这个命令和上一个命令相似,只是顺序不同, 格式为: zrevrangebyscore key max min
13. zremrangebyrank : 删除有序集合中排名介于min和max之间的元素,是按照正序来进行删除的。
14. zremrangebyscore : 删除有序集合中分值score介于min和max之间的元素,是按照正序来进行删除的。
15. zinter / zinterstore : 对给定的有序集合进行交集操作,默认的聚集函数是sum,一共有三种剩余两种是min和max 下面以zinterstore为例 格式为: zinterstore destination numkeys key1 key2 ...keyn weights weight1 weight2 ...weightn aggregate sum|min|max
其中系数weight默认为1,如果为其他值,则对score进行乘法
16. zunion / zunionstore :对给定的有序集合进行并集操作,默认的聚集函数是sum,一共有三种剩余两种是min和max 下面以zunionstore为例 格式为: zunionstore destination numkeys key1 key2 ...keyn weights weight1 weight2 ...weightn aggregate sum|min|max
其中系数weight默认为1,如果为其他值,则对score进行乘法
# 1. zadd : 添加一个元素或多个元素到有序集合中,格式为: zadd key score value
127.0.0.1:6379> zadd myzset1 10 gitee 20 github 30 csdn 40 stackoverflow 50 juejin 60 google 70 oschina
7
# 2. zcard : 获取有序集合中元素的数量
127.0.0.1:6379> zcard myzset1
7
# 3. zrem : 从有序集合中删除给定的成员,并返回被删除成员的数量
127.0.0.1:6379> zrem myzset1 gitee
1
# 4. zincrby : 给有序集合中的某个元素的分值加上increment
# 格式为: zincrby key increment value
127.0.0.1:6379> zincrby myzset1 5 github
25
# 5. zrank : 返回有序集合中指定元素的名次,按分值score的大小从低到高进行排序即正序,返回元素的索引值(0, n-1)
127.0.0.1:6379> zrank myzset1 github
0
127.0.0.1:6379> zrank myzset1 csdn
1
127.0.0.1:6379> zrank myzset1 stackoverflow
2
127.0.0.1:6379> zrank myzset1 juejin
3
127.0.0.1:6379> zrank myzset1 google
4
127.0.0.1:6379> zrank myzset1 oschina
5
# 6. zrevrank : 返回有序集合中指定元素的名次,按分值score的大小从高到低进行排序即逆序,返回元素的索引值(0, n-1)
127.0.0.1:6379> zrevrank myzset1 github
5
127.0.0.1:6379> zrevrank myzset1 csdn
4
127.0.0.1:6379> zrevrank myzset1 stackoverflow
3
127.0.0.1:6379> zrevrank myzset1 juejin
2
127.0.0.1:6379> zrevrank myzset1 google
1
127.0.0.1:6379> zrevrank myzset1 oschina
0
# 7. zscore : 返回某个元素的分值
127.0.0.1:6379> zscore myzset1 github
25
# 8. zcount : 在有序集合中指定区间分数的元素数,左闭右闭,结果是一个数字,并没有列出来具体是哪个value
# 注意这里给定的范围是分数score , 并不是名次rank
127.0.0.1:6379> zcount myzset1 20 30
2
# 9. zrange : 返回有序集合中排名介于min和max之间的成员,左闭右闭,如果给定withscores选项,并将此成员的分值一并返回,排名是按照score大小从低到高
127.0.0.1:6379> zrange myzset1 0 -1
github
csdn
stackoverflow
juejin
google
oschina
127.0.0.1:6379> zrange myzset1 0 -1 withscores
github
25
csdn
30
stackoverflow
40
juejin
50
google
60
oschina
70
127.0.0.1:6379> zrange myzset1 0 2
github
csdn
stackoverflow
# 10. zrevrange : 返回有序集合中排名介于min和max之间的成员,左闭右闭,如果给定withscores选项,并将此成员的分值一并返回,排名是按照score大小从高到低
127.0.0.1:6379> zrevrange myzset1 0 -1
oschina
google
juejin
stackoverflow
csdn
github
127.0.0.1:6379> zrevrange myzset1 0 -1 withscores
oschina
70
google
60
juejin
50
stackoverflow
40
csdn
30
github
25
127.0.0.1:6379> zrevrange myzset1 0 2
oschina
google
juejin
# 11. 返回有序集合中分值score在min和max之间的所有元素,格式为: zrangebyscore key min max
127.0.0.1:6379> zrangebyscore myzset1 20 30
github
csdn
# 12. 返回有序集合中分值score在max和min之间的所有元素,这个命令和上一个命令相似,只是顺序不同
# 格式为: zrevrangebyscore key max min
127.0.0.1:6379> zrevrangebyscore myzset1 30 20
csdn
github
# 13. zremrangebyrank : 删除有序集合中排名介于min和max之间的元素,是按照正序来进行删除的。
127.0.0.1:6379> zremrangebyrank myzset1 0 1
2
127.0.0.1:6379> zrange myzset1 0 -1
stackoverflow
juejin
google
oschina
127.0.0.1:6379> zrange myzset1 0 -1 withscores
stackoverflow
40
juejin
50
google
60
oschina
70
# 14. zremrangebyscore : 删除有序集合中分值score介于min和max之间的元素
127.0.0.1:6379> zremrangebyscore myzset1 40 50
2
127.0.0.1:6379> zrange myzset1 0 -1 withscores
google
60
oschina
70
# 15. zinterstore : 对给定的有序集合进行交集操作,默认的聚集函数是sum,一共有三种剩余两种是min和max 格式为: zinterstore destination numkeys key1 key2 ...keyn weights weight1 weight2 ...weightn aggregate sum|min|max
其中系数weight默认为1,如果为其他值,则对score进行乘法
127.0.0.1:6379> zrange myzset1 0 -1 withscores
google
60
oschina
70
127.0.0.1:6379> zrange myzset2 0 -1 withscores
gitee
10
github
20
csdn
30
stackoverflow
40
juejin
50
google
55
oschina
75
127.0.0.1:6379> zinterstore myzsetsum 2 myzset1 myzset2 aggregate sum
2
127.0.0.1:6379> zrange myzsetsum 0 -1 withscores
google
115
oschina
145
127.0.0.1:6379> zinterstore myzsetmin 2 myzset1 myzset2 aggregate min
2
127.0.0.1:6379> zrange myzsetmin 0 -1 withscores
google
55
oschina
70
127.0.0.1:6379> zinterstore myzsetmax 2 myzset1 myzset2 aggregate max
2
127.0.0.1:6379> zrange myzsetmax 0 -1 withscores
google
60
oschina
75
# 16. zunionstore :对给定的有序集合进行并集操作,默认的聚集函数是sum,一共有三种剩余两种是min和max , 格式为: zunionstore destination numkeys key1 key2 ...keyn weights weight1 weight2 ...weightn aggregate sum|min|max
其中系数weight默认为1,如果为其他值,则对score进行乘法
127.0.0.1:6379> zunionstore myzsetunionsum 2 myzset1 myzset2 aggregate sum
7
127.0.0.1:6379> zunionstore myzsetunionmin 2 myzset1 myzset2 aggregate min
7
127.0.0.1:6379> zunionstore myzsetunionmax 2 myzset1 myzset2 aggregate max
7
127.0.0.1:6379> zrange myzsetunionsum 0 -1 withscores
gitee
10
github
20
csdn
30
stackoverflow
40
juejin
50
google
115
oschina
145
127.0.0.1:6379> zrange myzsetunionmin 0 -1 withscores
gitee
10
github
20
csdn
30
stackoverflow
40
juejin
50
google
55
oschina
70
127.0.0.1:6379> zrange myzsetunionmax 0 -1 withscores
gitee
10
github
20
csdn
30
stackoverflow
40
juejin
50
google
60
oschina
75