PHP程序员学习笔记|如何学习PHP

个人总结的PHP学习方法


redis无序集合set类型详解_常用命令

2017-6-28 0phpcom 经典文章


redis中的set是string类型的无序集合,set元素最大可以包含2的32次方-1个元素。利用set集合类型,我们可以快速取出n个key之间的并集、交集、差集等,从而轻松解决mysql等数据库不容易实现这种运算的缺陷。


与上篇中list类型不同的是,set集合中不允许出现重复的元素,因此set类型也可以快速判断某一元素是否存在。


应用场景:取出两个QQ号中的共同的好友数;判断某个ip是否在白名单内等。


以下是无序集合类型(set)的一些常用操作命令:


1.【 sadd key vaule 】 往集合中插入一个元素,如果value值已存在集合中,则返回0,不会被重复插入。

2.【 sinter key1 key2 ... keyN 】 取出n个key之间的交集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sinter key1 key2返回d,e。

3.【 sunion key1 key2 ... keyN 】 取出n个key之间的并集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sunion key1 key2返回a,b,c,d,e,f。

4.【 sdiff  key1 key2 】 取出n个key之间的差集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sdiff key1 key2返回a,b,c;反过来sdiff key2 key1返回f。

5.【 smembers key 】 返回key集合中所有的元素,结果是无序的。

6.【 sismember key value 】 查看value这个值是否在key集合中。存在返回1,不存在返回0。

7.【 scard key 】 返回集合中有多少个元素。

8.【 smove key1 key2 value 】 把value从key1中移到key2中去。

9.【 srem key value1 value2 ... valueN 】 从key集合中删掉某些元素。


由上可见,合理的运用set类型,效率可以实现几何倍增!

« 认清js中var a=b=1和var a=1,b=1的区别 | redis有序集合sorted set详解及常用命令»
发表评论:









订阅Rss