redis 5 set操作

无序的集合set操作场景:QQ好友推荐取两个QQ上好友的差集切记!set中的集合是无序的
一,添加set元素   
sadd  myset world   
sadd  myset hello

二,查看元素  
smemebers myset

三,删除元素  
srem myset world

四,随机弹出(删除一个元素),并返回弹出的元素  
spop myset


差集:
五,两个集合的差集  
sdiff myset1 myset2(谁在前面以谁为标准,这里以myset1为标准)
六,将两个集合的差集存在另外一个集合当中   
sdiffstore myset1 myset2 myset3 (将myset1和myset2之间的差集存储在myset3中)


交集:
七,取两个集合的交集  
sinter myset1  myset2 

八,将两个集合的交集存在另外一个集合当中  
sinterstore myset1  myset2 


并集:
九,取两个集合的并集  
sunion myset1  myset2

十,将两个集合的交集存在另外一个集合当中  
sunionstore myset1  myset2

十一:将一个集合(one元素)的元素移除(剪切)到另外一个集合当中  
smove myset1 myset2  one

十二,返回集合中的元素个数   
scard myset1

十三,判断某一个元素是该集合的元素    
sismember myset1  two

十四,随机返回一个集合中的元素(不删除元素)    
srandmember





有序的集合zset
理解为两列的oracle表,一列存value,一列存order(顺序) 


一,添加一个有序集合的元素
  zadd  myzset  1  one
  zadd  myzset  2  two
  zadd  myzset  3  three


二,从有序集合中取值,显示他的顺序号
   zrange myzset  0 -1   withscore

三,删除有序集合中的一个元素
   zrem myzset  one

四,对有序集合中的某个元素的顺序进行递增修改(递增2)
   zincrby myzset  2 one
  
五,返回有序集合中元素的从小到大排名(索引值先升序排序,不是order顺序号)
  zrank  myzset  one

六,返回有序集合中元素的从大到小排名(索引值先降序排序,不是order顺序号)
  zrevrank  myzset  two

七,从有序集合倒序取元素
   zrevrange myzset 0 -1 withscores

八,返回指定范围的有序集合的元素的个数
   zcount myzset 1 3

九,返回有序集合的元素的个数
   zcard myzset



你可能感兴趣的:(sets,zsets)