Redis 05 集合
参考源
https://www.bilibili.com/video/BV1S54y1R7SB?spm_id_from=333.999.0.0
版本
本文章基于 Redis 6.2.6
Set 中的值是不能重复的
应用场景:共同关注
赋值
插入值
Sadd
127.0.0.1:6379> Sadd set hello
(integer) 1
127.0.0.1:6379> Sadd set world
(integer) 1
127.0.0.1:6379> Sadd set world # 插入了重复值,没有生效
(integer) 0
127.0.0.1:6379> Smembers set
1) "world"
2) "hello"
取值
所有元素
Smembers
127.0.0.1:6379> Smembers set
1) "world"
2) "hello"
元素是否存在
Sismember
127.0.0.1:6379> Smembers set
1) "world"
2) "hello"
127.0.0.1:6379> Sismember set hello # 存在返回 1
(integer) 1
127.0.0.1:6379> Sismember set hello1 # 不存在返回 0
(integer) 0
元素个数
Scard
127.0.0.1:6379> Scard set
(integer) 2
随机元素
Srandmember
127.0.0.1:6379> Smembers set
1) "world"
2) "hello"
127.0.0.1:6379> Srandmember set
"world"
127.0.0.1:6379> Srandmember set
"hello"
两个集合的差集
Sdiff
127.0.0.1:6379> Smembers set1
1) "b"
2) "a"
127.0.0.1:6379> Smembers set2
1) "b"
2) "c"
127.0.0.1:6379> Sdiff set1 set2 # 取 set1 对于 set2 的差集
1) "a"
127.0.0.1:6379> Sdiff set2 set1 # 取 set2 对于 set1 的差集
1) "c"
两个集合的交集
Sinter
127.0.0.1:6379> Smembers set1
1) "b"
2) "a"
127.0.0.1:6379> Smembers set2
1) "b"
2) "c"
127.0.0.1:6379> Sinter set1 set2 # 取 set1 和 set2 的交集
1) "b"
可以用来获取共同关注。
两个集合的并集
Sunion
127.0.0.1:6379> Smembers set1
1) "b"
2) "a"
127.0.0.1:6379> Smembers set2
1) "b"
2) "c"
127.0.0.1:6379> Sunion set1 set2
1) "b"
2) "c"
3) "a"
删除
指定元素
Srem
127.0.0.1:6379> Srem set world
(integer) 1
127.0.0.1:6379> Smembers set
1) "hello"
随机元素
Spop
127.0.0.1:6379> Smembers set
1) "world"
2) "hello"
127.0.0.1:6379> Spop set
"world"
移动
指定元素到其他集合
Smove
127.0.0.1:6379> Smembers set
1) "hello"
127.0.0.1:6379> Smove set set1 hello # 移动 set 中的 hello 到 set1 中(set1 是存在的)
(integer) 1
127.0.0.1:6379> Smembers set1
1) "hello"
2) "world"
127.0.0.1:6379> Smembers set
(empty array)
127.0.0.1:6379> Smove set1 set2 hello # 移动 set1 中的 hello 到 set2 中(set2 不存在则创建)
(integer) 1
127.0.0.1:6379> Smembers set2
1) "hello"
Redis 05 集合的更多相关文章
- Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过分数来为集合中的成员进行从小到大的排序. 有序 ...
- redis 有序集合(zset)函数
redis 有序集合(zset)函数 zAdd 命令/方法/函数 Adds the specified member with a given score to the sorted set stor ...
- redis学习-集合set常用命令
redis学习-集合set常用命令 1.sadd:添加一个元素到集合中(集合中的元素无序的并且唯一) 2.smembers:查看集合中所有的元素(上图事例) 3.srem:删除结合中指定的元素 4 ...
- Redis有序集合
Redis有序集合类似Redis集合存储在设定值唯一性.不同的是,一个有序集合的每个成员带有分数,用于以便采取有序set命令,从最小的到最大的分数有关. Redis 有序set添加,删除和测试中的O( ...
- Redis 操作集合数据
Redis 操作集合数据: > sadd set1 Tom // sadd 用于往集合中添加元素 (integer) > sadd set1 John (integer) > sad ...
- Redis 有序集合(sorted set),发布订阅,事务,脚本,连接,服务器(三)
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
- redis有序集合的使用
Redis 有序集合(sorted set) Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数.redis正是通过 ...
- redis有序集合数据类型---sortedset
一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...
- 数据结构与算法简记--redis有序集合实现-跳跃表
跳表 定义 为一个值有序的链表建立多级索引,比如每2个节点提取一个节点到上一级,我们把抽出来的那一级叫做索引或索引层.如下图所示,其中down表示down指针,指向下一级节点.以此类推,对于节点数为n ...
随机推荐
- 免费CDN:jsDelivr+Github 使用方法
转自 https://zhuanlan.zhihu.com/p/76951130 本文在CSDN上的链接:https://blog.csdn.net/qq_36759224/article/detai ...
- Eureka高可用集群搭建
就是搭建Eureka的集群. 每个Eureka Server需要相互注册,确保数据一致. 我这里准备两个Eureka Server 他两的POM文件配置是一样的 <dependencies&g ...
- 大功率超远距离lora无线数传电台,多级中继功能
一.在无线通信领域,LoRa是目前市场最被看好的技术之一.随着新一代LoRa调制技术的升级,市场对LoRa技术的认知.认可逐步提高,基于LoRa调制技术开发的产品得到更广泛的应用.受益于其超低的接收灵 ...
- VTK 截图
vtk的vtkRenderWindowInteractor中的Initialize函数初始化了可交互的窗口,但是实际工程中,往往需要把窗口拿出来在别的页面上显示,如存为png图片等等.本文主要介绍如何 ...
- Blazor WebAssembly + Grpc Web = 未来?
Blazor WebAssembly是什么 首先来说说WebAssembly是什么,WebAssembly是一个可以使C#,Java,Golang等静态强类型编程语言,运行在浏览器中的标准,浏览器厂商 ...
- .NET Core 企业微信回调配置
1.配置API接收 2.下载加密解密库 地址:https://developer.work.weixin.qq.com/devtool/introduce?id=36388,也可以复制下面的代码 2. ...
- 【翻译】驯服野兽:Scylla 如何利用控制理论来控制压实
教程翻译自Seastar官方文档:https://www.scylladb.com/2018/06/12/scylla-leverages-control-theory/ 转载请注明出处:https: ...
- 面试突击58:truncate、delete和drop的6大区别
在 MySQL 中,使用 truncate.delete 和 drop 都可以实现表删除,但它们 3 个的使用场景和执行效果完全不同,接下来我们来盘点一下. truncate.delete.drop区 ...
- Python基础学习笔记_02
Python中的运算符 标准算术运算符 加(+) 减(-) 乘(*) 除(/) 整除(//) print(1+1) #加法运算 print(1-1) #减法运算 print(2*4) #乘法运算 pr ...
- 重学ES系列之拓展运算符
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...