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存储的所有 键. 全局命令 ...
随机推荐
- Linux环境配置备忘
1.Ubuntu服务器版本装scipy 预装版本可能fortran包版本过旧或者不全,安装scipy之前需要更新环境. sudo apt-get install gfortran libopenbla ...
- java nio通过ByteBuffer输出文件信息
1.通过ByteBuffer的get()方法每次读取一个字节转换成char类型输出. fc = new FileInputStream("src/demo20/data.txt") ...
- Phaser3跟随自定义路径移动的赛车 -- iFIERO游戏教程
racingcar 在线预览:http://www.ifiero.com/uploads/phaser/pathrotate/代码: var config = { type: Phaser.AUT ...
- Quartz学习--三 Hello Jdbc Quartz! 和 demo 结尾
四. Hello JDBC Quartz! JDBC方式: 就是说通过数据库的jdbc链接来进行quartz的一个配置 Quartz支持了很好的支持 demo用例 使用mysql作为例子进行演示 相比 ...
- nginx 日志模块
ngx_http_log_module.c 数据结构 typedef struct { void **main_conf; void **srv_conf; void **loc_conf;} ngx ...
- springMVC 第一章
springMVC 第一章 一.分层结构的项目 组成方式: 表示层:页面,Servlet 业务层:业务逻辑类(service) 持久层:与数据库交互的类(dao) 程序执行的过程:表示层->se ...
- unix系统内核优点
1.可靠性高 unix的可靠性2.伸缩性强 unix的伸缩性3.开放性好 unix的开放性4.网络功能强 unix的网络功能这是UNIX系统的又一重要特色,特别是作为Internet网络技术基础的TC ...
- PAT 甲级 1063 Set Similarity
https://pintia.cn/problem-sets/994805342720868352/problems/994805409175420928 Given two sets of inte ...
- PAT 甲级 1054 The Dominant Color
https://pintia.cn/problem-sets/994805342720868352/problems/994805422639136768 Behind the scenes in t ...
- html超链接返回上一页面
超链实现返回刚刚访问的网页: <a href="#" onclick="javascript:history.back(-1);"></a&g ...