一、介绍

  Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

  Redis中集合是通过哈希表实现的,所以添加、删除、查找的复杂度都是O(1)。

  集合中最大的成员数为 (4294967295, 每个集合可存储40多亿个成员)。

  

  基本命令:

  • 增加/更新

  sadd key member1 [member2 ...]   (向集合添加一个或多个成员)

  • 查询

  scard key  (获取集合的成员数)

  smembers key  (返回集合中的所有成员)

  srandmember key [count]  (返回集合中一个或多个随机数)

  sscan key cursor [match pattern] [count count]  (迭代集合中的元素)

  • 判断

  sismember key member  (判断member元素是否是集合key的成员)

  • 删除/移动

  srem key member1 [member2 ...]  (移除集合中一个或多个成员)

  spop key  (移除并返回集合中的一个随机元素) 

  smove source destination member  (将member元素从source集合移动到destination集合) 

 

  • 差集/并集

  sdiff key1 [key2]  (返回给定所有集合的差集)

  sdiffstore destination key1 [key2]  (返回给定所有集合的差集并存储在destination中)

  sinter key1 [key2]  (返回给定所有集合的交集)

  sinterstore destination key1 [key2]  (返回给定所有集合的交集并存储在destination中)

  sunion key1 [key2]  (返回所有给定集合的并集)

  sunionstore destination key1 [key2]  (所有给定集合的并集存储在destination集合中)

二、操作

  • 增加

  1、sadd key member1 [member2 ...]   (向集合添加一个或多个成员)

  

  如果集合中已存在已有的元素,则添加返回0

  

  • 查询

  1、scard key  (获取集合的成员数)

  

  2、smembers key  (返回集合中的所有成员)

  

  3、srandmember key [count]  (返回集合中一个或多个随机数)

  

  4、sscan key cursor [match pattern] [count count]  (迭代集合中的元素)

  判断集合元素是否存在(0: 不存在, 1: 存在)

  

  

  • 判断

  1、sismember key member  (判断member元素是否是集合key的成员)

  

  • 删除/移动

  1、srem key member1 [member2 ...]  (移除集合中一个或多个成员)

  如果删除的元素不存在,返回0,删除成功返回1

  

  2、spop key  [count] (移除并返回集合中的一个或多个随机元素)

  

  3、smove source destination member  (将member元素从source集合移动到destination集合)

  

  

  如果集合中元素不存在,返回0

  

  • 差集/并集

  1、sdiff key1 [key2]  (返回给定所有集合的差集)

  获取两个集合的差集(不同的元素)

  

  2、sdiffstore destination key1 [key2]  (返回给定所有集合的差集并存储在destination中)

  set1 和 set2  的差集

  

  

  返回set1和set2集合的差集并存储在set3中:

  

  3、sinter key1 [key2]  (返回给定所有集合的交集)

  获取两个集合的交集(相同的元素)

  

  4、sinterstore destination key1 [key2]  (返回给定所有集合的交集并存储在destination中)

  

  5、sunion key1 [key2]  (返回所有给定集合的并集)

  并集的结果:给定的集合里面的元素只能出现一次

  

  6、sunionstore destination key1 [key2]  (所有给定集合的并集存储在destination集合中)

  

最新文章

  1. Android中Activity加入Fragment使用注意事项及常用技巧
  2. ADF_Desktop Integration系列4_ADF桌面集成入门之部署ADF Desktop Excel
  3. 判断iis是否已经安装
  4. php中函数前加&符号的作用分解
  5. Android之路-------传说中的大喇叭(广播接收器)
  6. Hadoop运行中遇到的错误调试
  7. ASP.NET MVC IOC 之AutoFac
  8. TP5.x——update更新成功但是返回是0
  9. iOS.GetCurrentTimestamp
  10. 20155239 《网络对抗》Exp4 恶意代码分析
  11. 【Linux技术】autotools制作makefile过程详解
  12. JS 控制页面超时后自动跳转到登陆页面
  13. < Python Index >
  14. Memcache介绍与应用场景
  15. intercepting IO request
  16. ny14 会场安排问题
  17. InstaGAN: Instance-Aware Image-to-Image Translation
  18. Static Nested Class 和 Inner Class的不同?
  19. CentOS6.2 下安装OpenGL开发库
  20. bzoj 1597 [Usaco2008 Mar]土地购买——斜率优化dp

热门文章

  1. 一篇带你快速入门ansible和使用
  2. TypeScript实现设计模式——生成器模式
  3. 深入了解Vue.js组件笔记
  4. 【CF1425B】 Blue and Red of Our Faculty! 题解
  5. C++extern关键字理解
  6. 【题解】Product
  7. 【题解】[USACO08MAR]Land Acquisition G
  8. farbic-sdk-java 学习部署
  9. centos8平台redis5的主从同步搭建及sentinel哨兵配置
  10. 判断ip地址是属于国内还是国外