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 ...
随机推荐
- JavaWeb学习笔记三 Servlet
Servlet 是运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API,动态的向客户 ...
- 基础补充:使用xlrd模块读取excel文件
因为接口测试用例使用excel文件来维护的,所以有必要学习下操作excel的基本方法 参考博客:python 3 操作 excel 把自己练习的代码贴出来,是一些基本的操作,每行代码后面都加了注释. ...
- 进程与fork()、wait()、exec函数组
进程与fork().wait().exec函数组 内容简介:本文将引入进程的基本概念:着重学习exec函数组.fork().wait()的用法:最后,我们将基于以上知识编写Linux shell作为练 ...
- Python实现基于协程的异步爬虫
一.课程介绍 1. 课程来源 本课程核心部分来自<500 lines or less>项目,作者是来自 MongoDB 的工程师 A. Jesse Jiryu Davis 与 Python ...
- Hibernate之ORM与Hibernate
ORM: ORM是 Object /Relation Mapping,对象/关系数据库映射. 目前比较流行的编程语言,如java ,c#等,它们都是面向对象的编程语言,而目前比较主流的数据库产品,如O ...
- vue下拉列表
最近在弄作品,做了个下拉列表.心想各位小哥哥.小姐姐可能会用到相同的需求,就把下拉列表封装一下,希望能对各位小哥哥,小姐姐有帮助 github地址:https://github.com/ClmPisc ...
- .Net Core MongoDB 简单操作。
一:MongoDB 简单操作类.这里引用了MongoDB.Driver. using MongoDB.Bson; using MongoDB.Driver; using System; using S ...
- GIT入门笔记(20)- 使用eclipse 基于 git 开发过程梳理
一.创建本地分支 1.下载/更新 本地 主干 如果本地还没有 本地主干,下载:git clone 如果本地已有了 本地主干,更新:git pull 工程右键菜单:team -> pull 2.基 ...
- docker实践3
我的docker学习笔记3 $docker run ubuntu echo'hello world' $docker run -i -t ubuntu /bin/bash #ps -ef #exi ...
- python 模拟浏览器登陆coursera
import requests import random import string def randomString(length): return ''.join(random.choice(s ...