redis之sets类型及操作-创新互联

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

专注于为中小企业提供网站设计制作、成都做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业乐安免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

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的一个元素,但是不删除元素

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网页题目:redis之sets类型及操作-创新互联
标题路径:http://scyanting.com/article/shopo.html