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存储的所有 键. 全局命令 ...
随机推荐
- C/C++ 下mysql应用封装(连接增删改查)
mysql - 初始化 1) mysql_init():初始化数据库 2) mysql_real_connect()(不推荐用Mysql_connect()):连接数据库 详细代码如下: bool d ...
- TW实习日记:第九天
这两天有点忙,要改前端网页和加需求上去.所以昨天说的Vue缓存机制也没看,所以打算现在列个挖了的坑的清单: Vue缓存机制.生命周期和钩子函数 使用项目组自用组件来重写静态页面 SSM框架搭建.整合流 ...
- 2.5星|《哈佛商学院管理与MBA案例全书》:书名太唬人了,依据中文经管书汇编整理而成
哈佛商学院管理与MBA案例全书(套装十册) 看到最后,列出的参考书目中全部是中文经管书,才明白这本书不是哈佛商学院出版的,是国内的编辑做的汇编.参考书目中除了中文经管书之外,还有一套<哈佛商学院 ...
- Bellman-ford 模板
#include<bits/stdc++.h> const int inf=0x3f3f3f3f; ; struct edge{ int u,v;//两个点 int w; //权值 Edg ...
- NO.2:自学python之路------变量类型、列表、字典
引言 本周初步认识了库,并学习了Python中各种类型的变量和常用操作.并完成了较为完善的用户与商家购物界面设计. 正文 模块: Python有标准库和第三方库.第三方库需要安装才能使用.大量的库可以 ...
- Apriori 获取关联规则实现
前言 自己的一个Apriori 获取关联规则的python实现.具体原理不讲,代码添加了说明,还是很好理解的. 数据预处理 #最小置信度 min_conf = 0.5 #最小支持度 min_sup = ...
- 点滴拾遗 - 自定义 Format 控制 String.Format 行为
点击下载示例代码 String.Format 一重载方法的签名如下 public static string Format( IFormatProvider provider, string form ...
- Python 内置函数介绍
作者博文地址:http://www.cnblogs.com/spiritman/ Python Built-in Functions
- 如何理解IPD+CMMI+Scrum一体化研发管理解决方案之Scrum篇
如何快速响应市场的变化,如何推出更有竞争力的产品,如何在竞争中脱颖而出,是国内研发企业普遍面临的核心问题,为了解决这些问题,越来越多的企业开始重视创新与研发管理,加强研发过程的规范化,集成产品开发(I ...
- OpenCV学习笔记——腐蚀与膨胀
1.膨胀 此操作将图像 与任意形状的内核 (),通常为正方形或圆形,进行卷积. 内核 有一个可定义的 锚点, 通常定义为内核中心点. 进行膨胀操作时,将内核 划过图像,将内核 覆盖区域的最大相素值提取 ...