Redis的Set无序集合命令
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 返回:返回被弹出的元素值 |
Redis的Set无序集合命令的更多相关文章
- redis对set(无序集合)的相关操作
redis对set类型(无序集合)操作的相关命令以及如何在python使用这些命令 redis对set类型操作的命令: 命令 语法 概述 返回值 Redis Sadd 命令 sadd key memb ...
- 005-redis-命令-无序集合,有序集合
Redis 无序集合命令 下表列出了 Redis 集合基本命令: 序号 命令及描述 1 SADD key member1 [member2] 向集合添加一个或多个成员 2 SCARD key 获取集合 ...
- Redis之无序集合类型命令
Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...
- python对redis的常用操作 下 (无序集合,有序集合)
无序集合: 首先介绍增加,删除和获得所有元素的方法.我将会用第二部分来讨论集合的特殊操作: In [136]: x.sadd("challenge", 1,2,3,4,5,6,7, ...
- redis:set集合类型的操作(无序集合)
1. set集合类型的操作(无序集合) 集合具有无序性(没有顺序).确定性(描述是确定的).唯一性(没有重复的元素) 1.1. sadd key member [member ...] 语法:sadd ...
- C#操作Redis Set 无序集合
/// <summary> /// redis 无序集合 /// </summary> public static void Redis_Set() { RedisClient ...
- 四:redis的sets类型 - 相关操作(有序和无序集合)
================四十五种(有序和无序集合):sets种类(它是一个集)============= 简介: set它代表的集合.加入是随意添加----->无序集合 ...
- Redis数据结构及相应的命令
Redis可以存储键(key)与5种不同类型值(value)之间的映射,5中不同类型的值分别为字符串(string),列表(list),散列(hash),集合(set)和有序集合(sorted set ...
- Redis 常用数据结构及其控制命令整合
Redis 键值支持5种基本结构,分别是字符串,列表,哈希,集合,有序集合.每一种数据结构都有对应的取值和设值命令,辅助命令,除此之外,还有一些全局命令,用来管理Redis存储的所有 键. 全局命令 ...
随机推荐
- HCIE理论-IPV6
ipv4与ipv6的对比 IPv4 :32 bit 点分十进制 192.168.1.1 2^32=42.9亿 ipv4地址不足IPv6 :128 bit 十六进制 2^128 冒号分十六进制ipv4 ...
- 关于C语言中内存的3个问题
1.程序为什么需要内存? 计算机程序 = 代码 + 结果,从宏观上理解,代码就是动作,而数据被动作加工,最终返回结果.程序是被放在内存中运行的,并且需要内存来存储一些临时变量,因此,对于程序来说,内存 ...
- 怎样安装Scrapy
Windows怎样安装Scrapy? pip install scrapy会报错 访问https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载并放到 ...
- Linux 安装Zookeeper<集群版>(使用Mac远程访问)
阅读本文需要先阅读安装Zookeeper<准备> 一 架构细节 zookeeper集群根据投票选举的机制 选出leader和follower zookeeper集群节点建议是奇数 这里我准 ...
- LeetCode 148——排序链表
1. 题目 2. 解答 2.1 快速排序 可参考 快速排序和归并排序 中的第一种快速排序思想,与在数组中排序有两点不同. 第一,我们需要取最后一个元素作为主元,在数组中可以直接访问到最后一个元素,但在 ...
- ES6对数组的扩展
ECMAScript6对数组进行了扩展,为数组Array构造函数添加了from().of()等静态方法,也为数组实例添加了find().findIndex()等方法.下面一起来看一下这些方法的用法. ...
- USACO 1.2.2 Transformations 方块转换
Description 一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案.写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式: 1:转90度 ...
- Knight Moves(广搜BFS)
Description A friend of you is doing research on the Traveling Knight Problem (TKP) where you are to ...
- 王者荣耀交流协会final冲刺第五次scrum会议
成员王超,高远博,冉华,王磊,王玉玲,任思佳,袁玥全部到齐,王磊拍照. master:高远博 2.时间跨度 2017年12月5日 18:00 - 18:31,总计31分钟 3.地点 一食堂二楼沙发座椅 ...
- POJ 2063 Investment 滚动数组+完全背包
题目链接: http://poj.org/problem?id=2063 题意: 你现在有现金m元,你要做n年的存款投资,给你k种投资方式,每种需要现金vi元,能获得xi元的理论,一年到期后你要利用拿 ...