Redis命令行之Set
一、Redis之Set简介
1. Set是String类型的无序集合(元素成员唯一)。
2. Set是通过hash表实现的,添加、删除、查找的复杂度都是O(1)。
3. 每个集合最大成员数为232-1(40多亿)个。
二、Redis之Set命令行操作
Sadd:将一个或多个元素加入集合,已经存在集合中的元素则忽略。若集合不存在则先创建,若key不是集合类型则返回错误。
Smembers:返回集合中所有成员。
。
Scard:返回集合中元素的数量。

Spop:移除并返回集合中的一个或多个随机元素。(count不能为负数)

Srandmember:返回集合中的一个或多个随机成员元素,返回元素的数量和情况由命令中的count参数决定:
1. 如果count为正数,且小于集合基数,那么命令返回一个包含count个元素的数组,数组中的元素各不相同。
2. 如果count大于等于集合基数,那么返回整个集合。
3. 如果count为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为count的绝对值。
Srandmember和Spop相似,但Spop将随机元素从集合中移除并返回,而Srandmember则仅仅返回随机元素,而不对集合进行任何改动。

Srem:移除集合中指定的一个或多个元素,忽略不存在的元素。

Sscan:迭代集合中的元素。

Smove:将指定成员从一个源集合移动到一个目的集合。相当于两个操作,将指定元素从源集合中删除,并加入目的集合中。若源集合不存在或不包含指定元素则不做任何操作。

下面介绍的差集、交集和并集都将使用以下三个集合来示例:

Sdiff:返回所有给定集合之间的差集,不存在的集合视为空集。
Sdiffstore:将所有给定集合之间的差集存储在指定的目的集合中。若目的集合已存在则覆盖它。
差集:第一个集合中有,其他集合没有的元素。

Sinter:返回所有给定集合的交集,不存在的集合视为空集。
Sinterstore:将所有给定集合的交集存储在指定的目的集合中。若目的集合已存在则覆盖它。

Sunion:返回所有给定集合的并集,不存在的集合视为空集。
Sunionstore:将所有给定集合的并集存储在指定的目的集合中。若目的集合已存在则覆盖它。

Redis命令行之Set的更多相关文章
- 二、Redis启动、停止、Redis命令行的操作
1.redis命令 redis执行了make install后,redis的课执行文件都会自动复制到 /usr/local/bin 目录 redis-server redis服务器 redis-cli ...
- redis命令行操作
打开shell,首先开启redis服务,在保证服务开启的情况下,打开客户端. 然后可以根据文档,进行命令行试验.
- redis 命令行查看修改配置文件项、配置文件说明
命令行查看修改配置文件项 config get | config set | config rewrite config get requirepass // 获取密码config set requi ...
- Redis命令行之Zset
一.Redis之Zset简介 1. 有序集合Zset是String类型的有序集合. 2. Zset中每个元素都会关联一个double类型的分数值,redis通过分数值来为集合中所有成员进行从小到大排序 ...
- Redis命令行之List
一.Redis之List简介 1. List是简单的字符串列表,按照插入顺序排列. 2. 一个列表最多可存储232-1个元素(40多亿). 二.Redis之List命令行操作 Lrange:获取列表指 ...
- Redis命令行之Hash
一.Redis之Hash简介 1. Hash是一个string类型的field和value的映射表,适合用于存储对象. 2. 每个hash可以存储232-1个键值对(40多亿). 二.Redis之Ha ...
- Redis命令行之String
一.Redis之String简介 1. String是redis最基本的数据类型,一个key对应一个value. 2. String是二进制安全的,可以包含任何数据,例如图片或序列化的对象. 3. S ...
- Redis 命令行工具能这样用你知道了吗?
我们天天都在使用 Redis 内置的命令行工具 redis-cli,久而久之以为它就是一个简单的交互式 Redis 数据结构手工操作程序,但是它背后强大的功能绝大多数同学可能闻所未闻.本节我们一起来挖 ...
- Redis - 命令行工具
使用Redis内置的命令行工具 redis-cli一些便捷的命令: 1.执行单条命令 平时在访问 Redis 服务器,一般都会使用 redis-cli 进入交互模式,然后一问一答来读写服务器,这种情况 ...
随机推荐
- CAD命令标志
CAD命令标志 主标识:(常用的)ACRX_CMD_MODAL 在别的命令执行的时候该命令不会在其中执行.ACRX_CMD_TRANSPARENT 命令可以再其它命令中执行,但在该标志下ads_sss ...
- Qt+事件的接收和忽略
事件的接收与忽略的示意图如下图: 依据前面的知识,事件是可以依据情况进行接收和忽略的,事件的传播是组件层次上面的,而不是依靠类继承机制.在一个特殊的情形下,我们必须使用accept()和ignore( ...
- LeetCode || 大杂烩w
454. 4Sum II 题意:给四个数组,每个数组内取一个数使得四个数和为0,问有多少种取法 思路:枚举为On4,考虑两个数组,On2枚举所有可能的和,将和的出现次数存入map中,On2枚举另两个数 ...
- Codeforces 1012A Photo of The Sky
作为一个蒟蒻,\(\tt{CF}\)止步\(Div.2\;C\) 这个题主要考察思维,正解代码炒鸡短-- 以下大部分搬运自官方题解 题目大意: 给你一段长度为\(2n\)的数列,将这个数列分为两个可重 ...
- Mac电脑怎么显示隐藏文件、xcode清除缓存
1.删除Xcode中多余的证书provisioning profile 手动删除: Xcode6 provisioning profile path: ~/Library/MobileDevice/P ...
- Promise中的next 另一个用法
const chainAsync = fns => { let curr = 0 ; const next = (...args) => fns[curr++](next,...args) ...
- XAMPP虚拟主机配置--20150423
你需要一些顶级域名访问方式来访问你本地的项目文件而不是目录方式访问,这时候就需要配置虚拟主机,给你的目录绑定一个域名(本地的话可以通过修改 hosts 文件随便绑定什么域名比如 www.a.com 或 ...
- 【图论】hdu6370Werewolf
有理有据的结论题 Problem Description "The Werewolves" is a popular card game among young people.In ...
- 【tarjan 拓扑排序 dp】bzoj1093: [ZJOI2007]最大半连通子图
思维难度不大,关键考代码实现能力.一些细节还是很妙的. Description 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于 ...
- (58)zabbix网络拓扑图配置network map
zabbix网络地图介绍 “zabbix network map”可以简单的理解为动态网络拓扑图,可以针对业务来配置zabbix map, 通过map可以了解应用的整体状况:服务器是否异常.网络是否有 ...