redis之sets类型及操作
admin
2023-02-07 17:40:03
0

sets类型及操作
set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作,操作中key理解为集合的名字。
set的是通过hash table实现(即set并没有顺序)的,所以添加、删除和查找的复杂度都是O(1)。hash table会随着添加或者删除自动的调整大小。需要注意的是调整hash table大小时候需要同步(获取写锁)会阻塞其他读写操作,可能不久后就会改用跳表(skip list)来实现,跳表已经在sorted set中使用了。关于set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)。通过这些操作可以很容易的实现sns中的好友推荐和blog的tag功能。

sadd
向集合set中添加指定元素.
如:sadd myset "hello"
srem
删除set中的指定元素
如:srem myset “hello”
spop
随机删除set中元素并返回此数据
sdiff
返回set1在set2中没有的元素.
如:sdiff set1 set2
sdiffstore
返回set1在set2中没有的元素,并存储到另一个set中.
如:sdiff set1 set2 set3
smembers
查看Set元素
如:smembers set1
sinter
返回指定的set(多个)的交集
如:sinter set1 set2 set3
sinterstore
返回指定的set(多个)的交集并保存为另一个set。
sunion
返回所有给定set的并集
如:sunion set1 set2 set3
sunionstore
返回所有给定set的并集,并存储为另一个set
smove
从第一个set中移除member并添加到第二个对应set中
如:smove myset2 myset7 member
scard
返回set的元素个数
sismember
测试member是否是set的元素
srandmember
随机返回set的一个元素,但是不删除元素

相关内容

热门资讯

玩家最新攻略“大唐麻将开挂神器... 家人们!今天小编来为大家解答大唐麻将透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里买很...
重磅消息“功夫熊猫炸/金/花是... 您好:功夫熊猫炸/金/花这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家...
今日重大发现“相约互娱开挂器?... 网上科普关于“相约互娱有没有挂”话题很是火热,小编也是针对相约互娱作*弊开挂的方法以及开挂对应的知识...
【第一消息】“云梦天穹真的有挂... 【第一消息】“云梦天穹真的有挂吗?”(太坑了原来有挂)您好,云梦天穹这个游戏其实有挂的,确实是有挂的...
【第一财经】“爱玩联盟可以开挂... 有 亲,根据资深记者爆料爱玩联盟是可以开挂的,确实有挂(咨询软件无需打开...
重磅消息“个旧麻将到底有挂吗?... 家人们!今天小编来为大家解答个旧麻将透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买很...
终于懂了“哥哥斗地主有没有挂?... 有 亲,根据资深记者爆料哥哥斗地主是可以开挂的,确实有挂(咨询软件无需打...
今日重大发现“友友邳州麻将开挂... 网上科普关于“友友邳州麻将有没有挂”话题很是火热,小编也是针对友友邳州麻将作*弊开挂的方法以及开挂对...
【第一消息】“朋友安徽麻将有没... 有 亲,根据资深记者爆料朋友安徽麻将是可以开挂的,确实有挂(咨询软件无需...
高一学生课间跑操后离世,校方通... 2025年12月17日,我校高一学生赖某某在参加例行课间跑操后突然昏迷倒地,学校第一时间送医院抢救,...