Redis集合的常用操作指令
Redis集合的常用操作指令
Sets常用操作指令
SADD
将指定的元素添加到集合。如果集合中存在该元素,则忽略。 如果集合不存在,会先创建一个集合然后在添加元素。
127.0.0.1:6379> SADD myset name age city
(integer) 3
127.0.0.1:6379> SADD myset name
(integer) 0
SMEMBERS
# 查看集合
127.0.0.1:6379> SMEMBERS myset
1) "name"
2) "city"
3) "age"
SCARD
# 统计集合中的元素个数
127.0.0.1:6379> SCARD myset
(integer) 3
# 集合不存在 则返回0
127.0.0.1:6379> SCARD mysetnotexist
(integer) 0
SDIFF
将第一个集合与后面的集合进行比较,取出第一个集合中不在后面的集合中存在的元素。
127.0.0.1:6379> SADD myset name age city
(integer) 3
127.0.0.1:6379> SADD compareset name city country
(integer) 3
127.0.0.1:6379> SDIFF myset compareset
1) "age"
# 没有差值,则返回空集合
127.0.0.1:6379> SADD compareset age
(integer) 1
127.0.0.1:6379> SDIFF myset compareset mysetnew
(empty list or set)
SDIFFSTORE
与SDIFF一样,也是返回集合中元素的差值,不同的这个方法不返回结果集合,而是将差值存储到目标集合,如果目标集合存在其他元素,会被完全替换。
127.0.0.1:6379> SADD seta a b c
(integer) 3
127.0.0.1:6379> SADD setb c d e
(integer) 3
127.0.0.1:6379> sadd setc f
(integer) 1
# SDIFFSTORE 存储的目标结合 比较集合a和b
127.0.0.1:6379> SDIFFSTORE setc seta setb
(integer) 2
127.0.0.1:6379> SMEMBERS setc
1) "a"
2) "b"
SINTER
取集合之间的交集。
127.0.0.1:6379> SADD seta a b c
(integer) 3
127.0.0.1:6379> SADD setb c d e
(integer) 3
127.0.0.1:6379> sadd setc f
(integer) 1
127.0.0.1:6379> SINTER seta setb
1) "c"
SINTERSTORE
与SINTER一样,也是返回集合中元素的交集,不同的这个方法不返回结果集合,而是将交集存储到目标集合,如果目标集合存在其他元素,会被完全替换。
127.0.0.1:6379> SADD seta a b c
(integer) 3
127.0.0.1:6379> SADD setb c d e
(integer) 3
127.0.0.1:6379> sadd setc f
(integer) 1
127.0.0.1:6379> SINTERSTORE setc seta setb
(integer) 1
127.0.0.1:6379> SMEMBERS setc
1) "c"
SMEMBERS SISMEMBER
SMEMBERS 返回集合中的元素。
SISMEMBER 判断集合是是否存在元素。
# SMEMBERS
127.0.0.1:6379> SADD seta a b c
(integer) 3
127.0.0.1:6379> SMEMBERS seta
1) "c"
2) "a"
3) "b"
# SISMEMBER 判断元素 存在返回1 不存在返回0
127.0.0.1:6379> SISMEMBER seta d
(integer) 0
127.0.0.1:6379> SISMEMBER seta a
(integer) 1
SMOVE
从原集合向目标集合移动元素。
# SMOVE 移动元素
127.0.0.1:6379> SMOVE seta setb a
(integer) 1
# 移动元素后 目标集合多了一个元素
127.0.0.1:6379> SMEMBERS setb
1) "d"
2) "c"
3) "a"
4) "e"
# 移动元素后 原集合少了一个元素
127.0.0.1:6379> SMEMBERS seta
1) "c"
2) "b"
SPOP
移除指定位置的元素。
127.0.0.1:6379> SPOP setb 1
1) "d"
127.0.0.1:6379> SMEMBERS setb
1) "c"
2) "a"
3) "e"
SRANDMEMBER
随机返回元素,不修改源集合。
127.0.0.1:6379> SMEMBERS setb
1) "c"
2) "a"
3) "e"
127.0.0.1:6379> SRANDMEMBER setb 1
1) "a"
127.0.0.1:6379> SRANDMEMBER setb 1
1) "c"
SREM
删除指定元素,如果元素不存在或者集合为空,则返回0,成功则返回1。
127.0.0.1:6379> SMEMBERS setb
1) "c"
2) "a"
3) "e"
# SREM
127.0.0.1:6379> SREM set "c"
(integer) 0
127.0.0.1:6379> SREM setb c
(integer) 1
SUNION
返回集合的并集。
127.0.0.1:6379> sadd numaset 1 3
(integer) 2
127.0.0.1:6379> SADD numbset 2 3 4
(integer) 3
# SUNION 返回集合并集
127.0.0.1:6379> SUNION numaset numbset
1) "1"
2) "2"
3) "3"
4) "4"
SUNIONSTORE
返回集合并集并存到指定集合中。
127.0.0.1:6379> sadd numaset 1 3
(integer) 2
127.0.0.1:6379> SADD numbset 2 3 4
(integer) 3
127.0.0.1:6379> sadd numcset 6 7
(integer) 2
# SUNION 返回集合并集 导致指定集合并替换指定集合的元素
127.0.0.1:6379> SUNIONSTORE numcset numaset numbset
(integer) 4
127.0.0.1:6379> SMEMBERS numcset
1) "1"
2) "2"
3) "3"
4) "4"
SSCAN
该命令用于迭代集合键中的元素。一般Set里面的元素量不大时,使用SMEMBER就行,但是如果Set里面的元素较多,就不能再使用了,命令会阻塞住,所以这个时候就需要SSCAN了。
127.0.0.1:6379> SADD provset hunan hubei beijing
(integer) 3
# SSCAN 0是表示查询游标,如果返回不是0,则表明迭代没有结束。
127.0.0.1:6379> SSCAN provset 0 match *b*
1) "0"
2) 1) "beijing"
2) "hubei"
以上就是Redis中结合的是常用操作指令了,更多其他指令可以参考官网,Redis官网,谢谢阅读,希望对你有所帮助。
Redis集合的常用操作指令的更多相关文章
- Redis数据类型Strings、Lists常用操作指令
Redis数据类型Strings.Lists常用操作指令 Strings常用操作指令 GET.SET相关操作 # GET 获取键值对 127.0.0.1:6379> get name (nil) ...
- 第三百节,python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型
python操作redis缓存-其他常用操作,用于操作redis里的数据name,不论什么数据类型 delete(*names)根据删除redis中的任意数据类型 #!/usr/bin/env pyt ...
- linux常用操作指令
Linux常用操作指令: 常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(a ...
- [PY3]——内置数据结构(6)——集合及其常用操作
集合及其常用操作Xmind图 集合的定义 # set( ) # {0,1,2} //注意不能用空的大括号来定义集合 # set(可迭代对象) In [1]: s=set();type ...
- redis的keys常用操作及redis的特性
redis的keys常用操作 1.获得所有的keys: keys * 2.可以模糊查询 keys:keys my* 3.删除keys:del mymkey1 mykey2 4.是否存在keys:ex ...
- CentOS + Nginx 的常用操作指令总结
CentOS + Nginx 的常用操作指令总结 一. 关于CentOS 查看 yum 源是否存在 yum list | grep nginx 如果不存在 或者 不是自己想要的版本 可以自己设置Ngi ...
- git 详细教程和常用操作指令
git 内部工作原理图 如上图,git 一般可以分为三个区:工作区.暂存区.版本库,通常类似 git add等命令都是与index 暂存区的交互,git commit指令则是 index 与版本库的交 ...
- Python集合的常用操作
字典常用的就是,他的去重. set集合是python的一个基本数据类型. set中的元素是不重复的.⽆无序的.⾥面的元素必须是可hash的(int, str, tuple,bool). 我们可以这样来 ...
- Redis string类型常用操作
Redis 有 string.list.set.zset.hash数据类型.string类型是最基础的,其他类型都是在string类型上去建立的,所以了解熟悉string类型的常用操作对于学习re ...
随机推荐
- JVM 常量池、运行时常量池、字符串常量池
常量池: 即class文件常量池,是class文件的一部分,用于保存编译时确定的数据. 保存的内容如下图: D:\java\test\out\production\test>javap -ver ...
- 匿名函数 python内置方法(max/min/filter/map/sorted/reduce)面向过程编程
目录 函数进阶三 1. 匿名函数 1. 什么是匿名函数 2. 匿名函数的语法 3. 能和匿名函数联用的一些方法 2. python解释器内置方法 3. 异常处理 面向过程编程 函数进阶三 1. 匿名函 ...
- CSS3画五角星和六角星
最终想要实现的效果 一.五角星 在画五角星之前首先分析这个五角星是如何实现,由哪几个部分构成的,示意图如下: 三个顶角向上的三角形,通过设置旋转和定位相互重叠和拼接实现最终的五角星效果. 为了语义化和 ...
- requiredBackgroundModes
申明需要后台运行的能力,类型为数组.目前支持以下项目: audio: 后台音乐播放如: { "pages": ["pages/index/index"], &q ...
- 浙大PAT CCCC L3-014 周游世界 ( 最短路变形 )
题目链接 题意 : 中文题请点链接,挺复杂的... 分析 : 乍一看是个最短路,实际就真的是个最短路.如果没有 “ 在有多条最短路径的时候输出换乘次数最少的” 这一条件的约束,那么这题就是直接建图然后 ...
- 【bzoj1324】Exca王者之剑(8-9 方格取数问题)
*题目描述: 在一个有m*n (m,n<=100)个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法, ...
- LINUX boot 内存不够
查看当前使用内核版本号.输入 uname -a 查看. 删除旧内核.输入命令: sudo apt-get remove linux-image- 接着按两下tab键,将显示所有的内核版本:把目前使用的 ...
- Internet History, Technology, and Security(week2)——History: The First Internet - NSFNet
前言: 上周学习了<电子计算机的曙光>,对战时及战后的计算机的历史发展有了更丰富的了解,今天继续coursera的课程,感觉已经有点适应了课程的节奏(除了经常有些奇奇怪怪的词汇看都看不懂@ ...
- es的索引库模板
在实际的生产中,如果要插入大批量数据的时候需要使用多个索引库,如果我们还是手工指定每个索引的配置信息settings和mappings,是非常耗时的: 针对这种情况,es有index template ...
- CentOS 6 修改时间和时区及设置修改及时间同步
一.时区 date -R; date ; hwclock --show ; ps -ef|grep ntpd 显示时区 date --help 获取帮助 date -R date +%z 上面两个命令 ...