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

Redis--Set类型

目录

一、引言

二、介绍

三、命令

1.sadd,smembers,sismember

2.spop,srandmember

3.smove,srem

4.sinter,sinterstore

5.sunion,sunionstore,sdiff,sdiffstore

四、内部编码

1.intset

2.hashtable

五、应用场景

1.使用Set保存用户的标签

2.Set方便计算交集

3.使用Set统计UV

六、总结


一、引言

  本篇文章将简单介绍redis中value的类型set类型以及其相关命令和使用场景。

二、介绍

  其他的set:设置(和get相对应)。

  redis中的set就是集合,集合中的元素是无序的。和list类似,集合中的每个元素也都是String类型,但是使用json这样的格式可以存储结构化的数据。

三、命令

1.sadd,smembers,sismember

sadd:添加元素           时间复杂度:O(1)

smembers:查看当前集合中的所有元素

sismember:判定当前的元素是否在集合中

2.spop,srandmember

spop:从末尾删除一个元素

srandmember:随机获取一个元素,但是不进行删除

3.smove,srem

smove:移动一个集合中的元素到另外一个集合中

srem:删除member

4.sinter,sinterstore

sinter:交集,最终结果同时出现在两个集合中  时间复杂度:O(N*M)

sinterstore:把交集存入到另外一个集合中

5.sunion,sunionstore,sdiff,sdiffstore

sunion:并集,把多个集合中的数据都集合在一起,如果元素有重复,只保留一份

sunionstore:将并集的结果存入到另外一个集合中

sdiff:差集:找出某些元素在A中存在,在B中不存在

sdiffstore:放入到新的集合中

四、内部编码

1.intset

  整数集合:当元素都是整数的时候,且元素个数不是特别多的时候,内部编码就是整数集合,为了节省空间。

2.hashtable

哈希表:存在字符串或者元素个数比较多的时候就转换为哈希表。

五、应用场景

1.使用Set保存用户的标签

2.Set方便计算交集

容易找到两个用户之间的公共标签,增强了用户关系。

3.使用Set统计UV

  1.PV page view  用户每次访问该浏览器,就会产生一次PV。

  2.UV user view  每个用户访问服务器就会产生一次UV,同一个用户多次访问不会使UV增加。

六、总结

  本篇文章简单介绍了redis中value的类型set类型以及其相关命令和使用场景。下一篇我们将讲解zset类型的相关命令以及内部编码等,感谢观看!


http://www.kler.cn/a/581032.html

相关文章:

  • JVM、MySQL常见面试题(尽力局)
  • vue3中的深度选择器
  • Python----数据可视化(Seaborn合集:介绍,应用,绘图,使用FacetGrid绘图)
  • 每天一道算法题【蓝桥杯】【最长递增子序列】
  • MVCC的理解(Multi-Version Concurrency Control,多版本并发控制)
  • Spring (十)事务
  • golang从入门到做牛马:第十三篇-Go语言指针:内存的“导航仪”
  • 【day10】智慧导览:学习LBS定位精度标准
  • QwQ-32B企业级本地部署:结合XInference与Open-WebUI使用
  • PySide(PyQT),QGraphicsItem的pos()和scenePos()区别
  • 【Agent】Windows 和 CentOS 安装 Conda
  • 代理模式的C++实现示例
  • 54. 螺旋矩阵(C++)
  • 无头浏览器与请求签名技术-Cloudflare防护
  • windows下docker的安装
  • 解锁 Ryu API:从 Python 接口到 REST 设计全解析
  • UNIAPP圈子社区纯前端万能源码模板 H5小程序APP多端兼容 酷炫UI
  • QT中QVBoxLayout、QWidget、QHBoxLayout、QStringList用法
  • Manus平台的AI模型整合之路:解析其技术内核
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-5.3.2实时配送范围计算(距离排序+多边形过滤)