Redis的Set无序集合命令
2024-09-01 08:25:04
Set是集合,它是string类型的无序集合。set是通过hash table实现的,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
Set无序集合 | |
添加一个元素 | >sadd myset2 one 向myset1集合添加一个元素“one” 返回:成功返回1,失败返回0 注: 1.集合中的元素值是唯一的(不允许重复,也没有重复) |
查看某一集合所有元素 | >smembers myset2 查看myset2集合中所有元素 返回:返回当前集合所有元素 |
随机返回集合中一个元素 | >srandmember myset1 随机读取一个myset1集合中的元素 |
判断某集合中是否存在某个元素 (判断某元素是否存在于集合中) |
>sismember myset1 four 判断myset1中是否存在“four”这个元素。即:判断“four”是否是myset1中的元素 返回:存在返回1,不存在返回0 |
获取集合中元素总个数 | >scard myset1 返回集合中的元素总个数; |
获取第一个集合与其后若干集合的差集 sdiff = set difference ['dɪfrəns] |
>sdiff myset1 取myset1与一个空集合的差集(其实仍为自身,同smembers myset1效果) >sdiff myset1 myset2 >sdiff myset1 myset2 myset3 |
获取差集,并将结果存储到前面的集合中 | >sdiffstore mySetDiff myset1 myset2 获取myset1与myset2的差集,并将结果存储到前面的mySetDiff中 返回:返回新集合mySetDiff的元素个数 |
获取第一个集合与其后若干集合的交集
sinter = set intersection[ˌɪntə'sekʃn] |
>sinter myset1 获取myset1与一个空集的交集(其实仍为自身,同smembers myset1效果) >sinter myset1 myset2 >sinter myset1 myset2 myset3 |
获取交集,并将结果存储到前面的集合中 | >sinterstore mySetInter myset1 myset2 获取myset1与myset2的交集,并将结果存储到前面的mySetInter中 返回:返回新集合mySetDiff的元素个数 |
获取第一个集合与其后若干集合的并集 | >sunion myset1 获取myset1与一个空集合的并集 (其实仍为自身,同smembers myset1效果) >sunion myset1 myset2 >sunion myset1 myset2 myset3 |
获取并集,并将结果存储到前面的集合中 | >sunionstore mySetUnion myset1 myset2 myset3 获取myset1与myset2、myset3的并集, 并将结果存储到前面的mySetUnion中 返回:返回新集合mySetUnion的元素个数 |
移动元素:从前一集合向后一集合移动一个元素 | >smove myset1 myset2 two 从myset1移动到myset2中一个值为“two”元素; 如果被移除的元素在myset1中不存在,返回0,否则返回1; 如果目标集合中已经存在“two”元素,则覆盖存储。 注:每次只能移动一个元素,成功返回1,失败返回0; |
删除指定若干元素 | >srem myset2 tom 删除一个元素tom >srem myset2 jack mary 删除多个元素jack 和 mary 返回实际被删除的元素个数 |
随机弹出(删除)一个元素 | >spop myset2 返回:返回被弹出的元素值 |
最新文章
- ReLU
- Oracle Flashback Technologies - 闪回数据库
- Web前端面试常识
- C# 工厂模式示例
- opengl 扳回一球
- xshell设置界面的编码方式
- 深度神经网络在量化交易里的应用 之二 -- 用深度网络(LSTM)预测5日收盘价格
- Codeforces 777A Shell Game
- dedecms调用文章内容
- Java第10次实验(数据库)
- Database Initialization Parameters for Oracle E-Business Suite Release 12
- LeetCode专题-Python实现之第9题:Palindrome Number
- HDU 3371(城市联通 最小生成树-Kruskal)
- js 生成手机图片并保存到相册
- 关于Revit API修改元素参数的问题?
- 浅析USB之设备枚举
- Django高级篇一RESTful架构及API设计
- Java 基本数据类型 sizeof 功能
- 每日英语:Why Rate Your Marriage? A Numerical Score Can Help Couples Talk About Problems
- windows form参数传递过程
热门文章
- 「日常训练」The Necklace(UVA-10054)
- Python列表推导式和嵌套的列表推导式
- 测试类异常Manual close is not allowed over a Spring managed SqlSession
- 好用的MarkDown编辑器
- 从零开始的Python学习Episode 8——深浅拷贝
- Bin Packing 装箱问题——NPH问题的暴力枚举 状压DP
- mac react-native从零开始android真机测试
- Polycarp and Letters(set首战!)
- Scrum立会报告+燃尽图 01
- “Hello World!”团队召开的第六次会议