Redis常用命令--Sets
Set是不重复且无序的字符串元素的集合。
还可以对set集取交集,并集,差等等。
在Redis中大概有15个操作Set的命令。
SADD key member [member ...]:添加一个或者多个元素到集合(set)里,复杂度O(N),N为要添加的元素个数。
SMEMBERS key:获取集合key里面的所有的成员。复杂度为O(N),N为集合的基数。
SCARD key:获取集合里面的元素数量,时间复杂度为O(1)。
SRANDMEMBER key [count]:从集合里面随机获取一个key,时间复杂度为O(1)。
SPOP key [count]:删除并获取一个集合里面的元素,时间复杂度为O(1)。
SREM key member [member ...]:从集合里删除一个或多个key,复杂度O(N),N为要删除的元素个数。
SISMEMBER key member:确定一个给定的值是一个集合的成员
27.0.0.1:6379> sadd ids id001 id002
(integer) 2
127.0.0.1:6379> smembers ids
1) "id002"
2) "id001"
127.0.0.1:6379> scard ids
(integer) 2
127.0.0.1:6379> sadd ids id003 id004
(integer) 2
127.0.0.1:6379> srandmember ids 2
1) "id001"
2) "id002"
127.0.0.1:6379> srandmember ids 2
1) "id003"
2) "id001"
127.0.0.1:6379> spop ids 1
1) "id004"
127.0.0.1:6379> sismember ids id001
(integer) 1
127.0.0.1:6379> sismember ids id002
(integer) 1
127.0.0.1:6379> sismember ids id004
(integer) 0
127.0.0.1:6379> srem ids id001 id002
(integer) 2
127.0.0.1:6379> sismember ids id001
(integer) 0
127.0.0.1:6379> srem ids id001 id002
(integer) 0
127.0.0.1:6379>
SDIFF key [key ...]:获得与所给定集合的差集,时间复杂度为O(N),N为所给定集合的成员数量之和。
SINTER key [key ...]:获得两个集合的交集,时间复杂度O(N * M), N
为给定集合当中基数最小的集合, M
为给定集合的个数。
SUNION key [key ...]:获取所给定集合的并集,时间复杂度为O(N),N为所给定集合的成员数量之和。
SUNIONSTORE destination key [key ...]:合并set元素,并将结果存入新的set里面,时间复杂度为O(N),N为所给定集合的成员数量之和。
SINTERSTORE destination key [key ...]:获得两个集合的交集,并存入新的结果集,时间复杂度O(N * M), N
为给定集合当中基数最小的集合, M
为给定集合的个数。
SDIFFSTORE destination key [key ...]:获得队列不存在的元素,并存入新的结果集,时间复杂度O(N), N
是所有给定集合的成员数量之和。
SMOVE source destination member:移动集合里面的一个元素member,从集合source到另一个集合destination,时间复杂度O(1)。
127.0.0.1:6379> smembers set1
1) "set14"
2) "set13"
3) "set12"
4) "set11"
127.0.0.1:6379> smembers set2
1) "set14"
2) "set23"
3) "set12"
4) "set2"
127.0.0.1:6379> sdiff set1 set2
1) "set13"
2) "set11"
127.0.0.1:6379> sinter set1 set2
1) "set14"
2) "set12"
127.0.0.1:6379> sunion set1 set2
1) "set14"
2) "set23"
3) "set11"
4) "set13"
5) "set2"
6) "set12"
127.0.0.1:6379> sdiffstore set3 set1 set2
(integer) 2
127.0.0.1:6379> smembers set3
1) "set13"
2) "set11"
127.0.0.1:6379> sunionstore set4 set1 set2
(integer) 6
127.0.0.1:6379> smembers set4
1) "set14"
2) "set23"
3) "set11"
4) "set13"
5) "set2"
6) "set12"
127.0.0.1:6379> sinterstore set5 set1 set2
(integer) 2
127.0.0.1:6379> smembers set5
1) "set14"
2) "set12"
127.0.0.1:6379> smove set1 set2 set13
(integer) 1
127.0.0.1:6379> smembers set1
1) "set14"
2) "set12"
3) "set11"
127.0.0.1:6379> smembers set2
1) "set14"
2) "set23"
3) "set12"
4) "set2"
5) "set13"
127.0.0.1:6379>
SSCAN key cursor [MATCH pattern] [COUNT count]:迭代set里面的元素
Redis常用命令--Sets的更多相关文章
- 第2讲 Redis常用命令与高级应用
目录 一.redis数据类型 5. sorted sets类型和操作 二.Redis常用命令 1.键值相关命令 2.服务器相关命令 三. redis高级应用 1. 给redis服务器设置密码 2.持久 ...
- Redis常用命令与高级应用
附: 127.0.0.1:6379> set xiaofei 小飞 OK 127.0.0.1:6379> get xiaofei "\xe5\xb0\x8f\xe9\xa3\x9 ...
- redis常用命令-2
redis常用命令 type your_key #查看Key类型 del your_key #删除key keys * #所有key info #信息 /usr/local/bin/redis-cli ...
- Redis常用命令
Redis常用命令Redis提供了丰富的命令对数据库和各种数据类型进行操作,这些命令可以再Linux终端使用.1.键值相关命令2.服务器相关命令 一.键值相关命令 1.get get 键值 当 key ...
- Redis常用命令手册:服务器相关命令
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用.在编程时,比如各类语言包,这些命令都有对应的方法.下面将Redis提供的命令做一 ...
- redis redis常用命令及内存分析总结(附RedisClient工具简介
redis常用命令及内存分析总结(附RedisClient工具简介 by:授客 QQ:1033553122 redis-cli工具 查看帮助 连接redis数据库 常用命令 exists key se ...
- Redis快速起步及Redis常用命令大全
本系列教程内容提要 Java工程师之Redis实战系列教程教程是一个学习教程,是关于Java工程师的Redis知识的实战系列教程,本系列教程均以解决特定问题为目标,使用Redis快速解决在实际生产中的 ...
- redis配置密码 redis常用命令
redis配置密码 1.通过配置文件进行配置yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到 [plain] view plain copy #requi ...
- redis常用命令及持久化机制
redis 常用命令 查找redis服务文件 find / -name redis-server 查找配置文件 find / -name redis.conf 启动服务时候,要指定配置文件 启动r ...
随机推荐
- PHP 引用是个坑,请慎用
去年我参加了很多次会议,其中八次会议里我进行了相关发言,这其中我多次谈到了 PHP 的引用问题,因为很多人对它的理解有所偏差.在深入讨论这个问题之前,我们先回顾一下引用的基本概念,明确什么是" ...
- 2017年PHP程序员未来路在何方——韩天峰
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...
- beta冲刺4
昨天的问题: 我的社团数据库表项的处理,代码修改后结果无法显示. 帖子内容无法显示出来. 首页图像未替换 登陆整合没有完成 今天的完成: 服务器部署成功 页面背景修改.(已上传,未确认实装.) 任务截 ...
- Git学习使用
1.注册码云并建立远程仓库 2.安装git 3.使用eclipse egit 推送以及克隆 建立本地仓库,成功后如图 推送项目至本地仓库与远程仓库 使用右键菜单team-share 选项,与仓库关联后 ...
- 201621123031 《Java程序设计》第7周学习总结
作业07-Java GUI编程 1.本周学习总结 1.1 思维导图:Java图形界面总结 1.2 可选:使用常规方法总结其他上课内容. 事件监听器: Java事件监听器是由事件类和监听接口组成,自定义 ...
- hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlToken
环境:weblogic10.3.5,hibernate3,GGTS(groovy/grails tools suite):出现这问题是因为该项目是从weblogic8.1.6下移植到weblogic1 ...
- [SDOI2014]旅行
洛谷 P3313 [SDOI2014]旅行 https://www.luogu.org/problem/show?pid=3313 题目描述 S国有N个城市,编号从1到N.城市间用N-1条双向道路连接 ...
- jstree的简单用法
一般我们用jstree主要实现树的形成,并且夹杂的邮件增删重命名刷新的功能 下面是我在项目中的运用,采用的是异步加载 $('#sensor_ul').data('jstree', false).emp ...
- jQuery 文档操作之prepend() 和prependTo()方法.
//prepend() $("#btnpre").click(function(){ //该方法在被选元素的开头(仍位于内部)插入指定内容. $("div"). ...
- Python模块configparser(操作配置文件ini)
configparser模块提供对ini文件的增删改查方法. ini文件的数据格式: [name1] attribute1=value1 attribute2=value2 [name2] attri ...