redis中set,zset命令

2020-09-23  本文已影响0人  小鱼_a563

一.set基本命令

1.添加(sadd),查看(smembers)一个set,判断(sismember)一个元素是否存在
myredis:0>sadd myset hello      #添加一个myset集合
"1"
myredis:0>sadd myset word
"1"
myredis:0>sadd myset xiaoyu
"1"
myredis:0>smembers myset      #查看myset集合中所有的值
 1)  "hello"
 2)  "xiaoyu"
 3)  "word"
myredis:0>sismember myset word      #判断一个元素是否存在
"1"
myredis:0>scard myset      #查看set中有多少个元素
"2"
######################################################################################
2.删除
myredis:0>spop myset      #随机删除一个元素
"hello"
myredis:0>spop myset      #随机删除一个元素
"xiaoyu"
myredis:0>smembers myset
 1)  "word"
myredis:0>srem myset hello      #删除指定元素
"1"
######################################################################################
3.set是一个无序不重复的集合。随机一个元素(可以使用抽奖程序)
myredis:0>srandmember myset      #随机set集合中一个元素
"word"
myredis:0>srandmember myset 2      #随机set集合中两个元素
 1)  "xiaoyu"
 2)  "xiaogou"
######################################################################################
4.把一个set中的元素移动到另外一个set集合中
myredis:0>smembers myset
 1)  "xiaogou"
 2)  "xiaoyu"
 3)  "word"
 4)  "yuanyuan"
myredis:0>sadd myset2 my
"1"
myredis:0>smove myset myset2 xiaoyu      #把一个set中的元素移动到另外一个set集合中
"1"
myredis:0>smembers myset
 1)  "xiaogou"
 2)  "word"
 3)  "yuanyuan"
myredis:0>smembers myset2
 1)  "xiaoyu"
 2)  "my"
######################################################################################

######################################################################################

二.set使用场景

 myredis:0>smembers myset
 1)  "c"
 2)  "a"
 3)  "b"
myredis:0>smembers myset2
 1)  "d"
 2)  "c"
 3)  "e"
1.微博,B站等社交网站中有共同关注,共同好友
 myredis:0>sdiff myset myset2
 1)  "a"
 2)  "b"
myredis:0>sunion myset myset2
 1)  "b"
 2)  "c"
 3)  "a"
 4)  "d"
 5)  "e"
myredis:0>SINTER myset myset2
 1)  "c"

三.zet基本命令

1.存储,查看
myredis:0>zadd k1 1 one 2 two 3 three        #存储key为k1的数据
"3"
myredis:0>zrange k1 0 3        #按照下标查看数据
 1)  "one"
 2)  "two"
 3)  "three"
myredis:0>zrange k1 0 -1        #查看所有的值
 1)  "one"
 2)  "two"
 3)  "three"
############################################################################
2.排序
myredis:0>zadd salary 2000 xiaohong 5000 xiaoyu 500 xiaogou
"3"
myredis:0>zrangebyscore salary -inf +inf         #按照scores从小到大正序排列,只显示value
 1)  "xiaogou"
 2)  "xiaohong"
 3)  "xiaoyu"
myredis:0>zrevrange salary 0 -1        #按照scores从大到小倒序排列,只显示value
 1)  "xiaoyu"
 2)  "xiaohong"
myredis:0>zrangebyscore salary -inf +inf withscores        #在负无穷和正无穷之间按照scores正序排列,并且显示score和value
 1)  "xiaogou"
 2)  "500"
 3)  "xiaohong"
 4)  "2000"
 5)  "xiaoyu"
 6)  "5000"
myredis:0>zrangebyscore salary -inf 3000 withscores        #在负无穷和3000之间按照scores正序排列,并且显示score和value
 1)  "xiaogou"
 2)  "500"
 3)  "xiaohong"
 4)  "2000"
############################################################################
3.移除元素
myredis:0>zrem salary xiaogou        #移除指定的元素
"1"
myredis:0>zrange salary 0 -1
 1)  "xiaohong"
 2)  "xiaoyu"
myredis:0>zcard salary        #查看集合中元素个数
"2"
############################################################################
4.按照区间之间的元素个数
myredis:0>zrange salary 0 6000 withscores
 1)  "xiaohong"
 2)  "2000"
 3)  "xi"
 4)  "3000"
 5)  "xiaoyu"
 6)  "5000"
myredis:0>zcount salary 0 4000        #查看某个key 中scores的0到4000的元素个数
"2"

############################################################################

zset总结

上一篇 下一篇

猜你喜欢

热点阅读