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 ...
随机推荐
- CCPC-Wannafly Winter Camp Day1 流流流动 (树形dp)
题目描述 喜欢数学的wlswls最近被萎住了. 现在他一共有1...n1...n这么多数字,取数字ii会得到f[i]f[i]的收益.数字之间有些边,对于所有的i(i != 1)i(i!=1),若ii为 ...
- ubuntu安装软件失败
Unable to fetch some archives, maybe run apt-get update or try with --fix-missing sudo gedit /etc/ho ...
- spring动态调用方法
有的时候为了程序的灵活性,需要根据参数动态的调用方法.代码框架大致spring为主,下面是具体代码: 接口: 实现类(实现类中有一个从spring容器中取的对象) 这是最初我直接用反射去调用的代码: ...
- java:Conllection(List,set,get,map,subList)使用
list中的contains:是否包含指定元素 list中的SubList: 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分视图. List<String ...
- Dynamic len
题目 有n个数编号从0→n-1,两种操作: Q L R:询问编号为L→R-1的数中共有多少种不同的数 M X Y:将编号为X的数改为Y 共有m个操作 分析 既然是单点修改,查询,我们考虑一下分块. 首 ...
- 3D打印格式STL
STL格式及其转换 近期接触了3D打印的一些东西,也制作了一个vrml转stl的插件,对该领域多了一些认识. 目前尚没有打印机直接支持stl.obj等格式,在打印之前需使用厂家提供的软件将stl等格式 ...
- Day_03-函数和模块的使用
使用函数求阶乘 使用while循环的代码: m = float(input('m = ')) n = float(input('n = ')) mn = m - n fm = 1 while m != ...
- mysql LEFT JOIN关键字 语法
mysql LEFT JOIN关键字 语法 作用:LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行. 大理石构件 ...
- python 获取某个文件下的所有文件
import os files = os.listdir(load_Graph_file_path) cnt = 0 for file in files: print(file) if (os.pat ...
- Kaggle 房价预测问题参考资料
作者的 Kaggle 主页:https://www.kaggle.com/pavansanagapati Tutorial - Housing Prices Model Prediction http ...