当前位置: 首页 > news >正文

Redis-集合(Set)类型

  • 提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动去重
  • 提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的
  • Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)

常用命令

  • 将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略
sadd <key> <value1> <value2> .....

  • 取出该集合的所有值
smembers <key>
  • 判断集合<key>是否为含有该<value>值,有1,没有0
sismember <key> <value>
  • 返回该集合的元素个数
scard <key>
  • 删除集合中的某个元素
srem <key> <value1> <value2> ....
  • 随机从该集合中获取一个值,且从集合中删除
spop <key>
  • 随机从该集合中取出n个值。不会从集合中删除
srandmember <key> <n>
  • 把集合中一个值从一个集合移动到另一个集合
smove <source> <destination> value

  • 返回两个集合的交集元素
sinter <key1> <key2>#redis7新加命令,显示交集结果的个数
sintercard numkey key1 key2 limit n
  • 返回两个集合的并集元素
sunion <key1> <key2>
  • 返回两个集合的差集元素(key1中的,不包含key2中的)
sdiff <key1> <key2>

数据结构

  • Set数据结构是dict字典,字典是用哈希表实现的
  • Java中HashSet的内部实现使用的是HashMap,只不过所有的value都指向同一个对象
  • Redis的set结构也是一样,它的内部也使用hash结构,所有的value都指向同一个内部值

应用场景

  • 小程序抽奖
sadd key 用户ID         #添加抽奖人员
SCARD key               #显示抽奖人数
SRANDMEMBER key 2       #随机抽奖2个人,元素不删除
SPOP  key 3             #随机抽奖3个人,元素删除
  • 朋友圈点赞
sadd pub:msgID  点赞用户ID1  点赞用户ID2     #新增点赞
srem pub:msgID  点赞用户ID                  #取消点赞
SMEMBERS  pub:msgID                        #显示点赞人员
scard  pub:msgID                           #显示点赞人数
SISMEMBER pub:msgID 用户ID                 判断人员是否有点赞过
http://www.dtcms.com/a/465726.html

相关文章:

  • 软件定义的理想硬件平台:Qotom Q30900SE/UE系列在AIO服务器与边缘网关中的实践
  • MS7126 24位立体音频DAC
  • 引领网站手机网站建设的整体流程
  • 计算机网络【第四章-网络层】
  • 响应式网站建设特征wordpress网站不显示系列
  • Fiddler抓包工具使用教程,代理设置与调试方法实战解析(含配置技巧)
  • linux系统中如何在root用户中将某个文件夹目录的权限赋值给其它用户(主要说的是 方法 1)
  • 手机网站引导页wordpress 动漫主题
  • 科技服务公司网站模版如何做视频类网站
  • 最小覆盖子串
  • 算法4.0
  • 云网智安一体:中国电信数字安全创新的技术破局与生态构建
  • 制作音乐网站实验报告佛山做外贸网站渠道
  • 企业级数据库实操手册:从架构部署到安全运维的落地指南
  • 网络安全认证培训机构的痛点
  • 网站搜索引擎推广方案做网页设计的网站
  • 国内坚持做正品的网站女人学ui有前途吗
  • centos如何做的时间同步
  • CentOS 7 环境下 RabbitMQ 的部署与 Web 管理界面基本使用指南
  • 【AT指令解析】TencentOS Tiny AT指令解析源码分析1-简介
  • centos/cuos如何开启软件源
  • Java常见业务场景之批处理优化:从稳定性、性能、数据一致性、健壮性、可观测性五大维度,系统提供批处理优化方案
  • 网站建设拟采用的技术路线深圳互联网公司招聘
  • 人工智能学习:逻辑回归
  • 23种设计模式——命令模式(Command Pattern)
  • 网站空间用万网的 域名不在万网gta5 网站正在建设中
  • 枚举单例模式:Java单例实现的终极方案解析
  • 1.单例模式有哪几种常见的实现方式?
  • 安蓉建设总公司网站服装设计官网
  • PyTorch的安装与使用