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详解及常用命令»
发表评论:


站点统计
  • 建站日期: 2015-2-10 18:22
  • 运行时间: 3324 天
  • 日志总数: 221 篇
  • 置顶日志: 0 篇
  • 草稿数目: 15 篇
  • 待审文章: 0 篇
  • 页面数量: 0 个
  • 评论数量: 53 条
  • 微语数量: 5 条
  • 微语评论: 0 条
  • 友链数量: 1 个
  • 加密文章: 1 篇
  • 分类总量: 10 个
  • 父分类数: 10 个
  • 子分类数: 0 个
  • 用户数量: 1 人
  • 管理员数: 1 人
  • 驻站作者: 0 位
  • 标签数量: 11 个
  • 附件总量: 223 件
  • 最后发表: 2021-5-8 16:17



订阅Rss