Redis集合操作
Redis的集合以无序的形式存储多个各不相同的元素
(常用的集合命令)
SADD : SADD key-name item [item ...]----------将一个或多个元素添加到集合里,并返回添加的元素数量(重复的元素不会被添加)
SREM : SREM key-name item [item ..]---------从一个集合里面移除一个或多个元素,并返回被移除的元素数量
SISMEMBER : SISMEMBER key-name item -------检查元素item是否存在于集合key-name里
SCARD : SCARD key-name --------------------------返回集合包含的元素数量
SMEMBERS : SMEMBERS key-name ---------------返回集合包含的所有元素
SRANDMEMBER : SRANDMEMBER key-name [count] ---------------从集合里面随机返回一个或多个元素,当count为正数时,返回的元素不会重复,当count为负数时,返回的元素可能重复
SPOP : SPOP key-name ------------------------------随机移除集合中的一个元素,并返回被移除的元素
SMOVE : SMOVE source-key dest-key item -------------------------如果集合source-key包含元素item,那么从集合source-key里面移除元素item,并将元素item添加到集合dest-key中:如果item被成功移除,那么命令返回1,否则返回0
>>> conn.sadd('set-key','a','b','c')
3
>>> conn.srem('set-key','c','d')
1
>>> conn.srem('set-key','c','d')
0
>>> conn.smembers('set-key')
set(['a', 'b'])
>>> conn.scard('set-key')
2
>>> conn.smove('set-key','set-key2','a')
True
>>> conn.smove('set-key','set-key2','c')
False
>>> conn.sadd('set-key','a')
1
>>> conn.smove('set-key','set-key2','a')
True
>>> conn.smembers('set-key')
set(['b'])
>>> conn.smembers('set-key2')
set(['a'])
(用于组合和处理多个集合的redis命令)
SDIFF : SDIFF key-name [key-name ...] ------------------返回那些存在于第一个集合,但不存在于其他集合中的元素(数学上的差集运算)
SDIFFSTORE : SDIFFSTORE dest-key key-name [key-name..] --------------将那些存在于第一个集合但并不存在其他集合中的元素存储到dest-key集合中
SINTER : SINTER key-name [key-name ...] -----------------------------------返回那些同时存在所有集合中的元素(数学上的交集运算)
SINTERSTORE : SINTERSTORE dest-key key-name [key-name..] --------------将那些同时存在所有集合中的元素存储到dest-key集合中
SUNION : SUNION key-name [key-name..] ------------------------------------返回那些存在于任意一个集合中的元素(数学上的并集运算)
SUNIONSTORE : SUNIONSTORE dest-key key-name [key-name..] --------------将那些存在于任意一个集合中的元素存储到dest-key集合中
>>> conn.sadd('skey1','a','b','c','d')
4
>>> conn.sadd('skey2','c','d','e','f')
4
>>> conn.sdiff('skey1','skey2')
set(['a', 'b'])
>>> conn.sinter('skey1','skey2')
set(['c', 'd'])
>>> conn.sunion('skey1','skey2')
set(['a', 'c', 'b', 'e', 'd', 'f'])
Redis集合操作的更多相关文章
- Redis 集合操作
1.SCARD key 返回集合 key 的基数(集合中元素的数量). 2.SDIFFSTORE destination key [key ...] 这个命令的作用和 类似,但它将结果保存到 des ...
- [Redis-CentOS7]Redis集合操作(四)
SADD 集合添加 127.0.0.1:6379> SADD bbs discuz.net (integer) 1 127.0.0.1:6379> SADD bbs "tiany ...
- 【springboot】【redis】springboot结合redis,操作List集合实现时间轴功能
springboot结合redis,操作List集合实现时间轴功能
- python学习之-- redis模块操作 集合和有序集合
redis 模块操作之 集合set和有序集合zset Set 集合操作,不允许重复的列表sadd(name,value):name对应的集合中添加元素scard(name):获取name对应的集合中元 ...
- Redis集合的常用操作指令
Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...
- php redis数据库操作类
<?php namespace iphp\db; use iphp\App; /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串. * 只有在key不存在时, ...
- 《Redis 数据操作》
一:字符串类型(string) - 应用场景 - 用于常规计数,常规的 key-value 存储. - 常用操作 常用操作 设置一个值为(字符串类型) SET key value 设置一个值并设置过 ...
- SpringBoot入门 (七) Redis访问操作
本文记录学习在SpringBoot中使用Redis. 一 什么是Redis Redis 是一个速度非常快的非关系数据库(Non-Relational Database),它可以存储键(Key)与 多种 ...
- Redis(三)Redis基本命令操作与API
一Redis 连接 Redis 连接命令主要是用于连接 redis 服务. 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1: ...
随机推荐
- ELK冷热数据分离
通常情况下,我们使用ELK日志分析平台最常用的数据时间为1周或一个月(因业务场景不同,可能存在差别),时间比较长的数据没有特殊情况可能我们就没有必要再进行查询了,但是因业务需求或者作为凭证,这些日 ...
- C# byte和10进制、16进制相互转换
var SRMP = new byte[4]; Array.Copy(Encoding.UTF8.GetBytes(1.ToString("x2")), SRMP, Encodin ...
- C# 用户选择单个压缩-系统自带压缩
//用C#自带的压缩,最少要.net4.5或以上,先增加引用 System.IO.Compression.FileSystem // FolderBrowserDialog dlg = new Fol ...
- nginx-2.nginx是什么
Nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器: Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以 ...
- 读取型CSRF-需要交互的内容劫持
本文作者:i春秋作家——jing0102 前言 最近在挖洞,"实践出真知"这句话说的很对,在实际挖掘过程中我会思考很多东西,跟朋友一起准备做一份手册,忽然的想到了一些漏洞的定义和规 ...
- 使用Flexbox:新旧语法混用实现最佳浏览器兼容
Flexbox非常的棒,肯定是未来布局的一种主流.在过去的几年这之中,语法改变了不少,这里有一篇“旧”和“新”新的语法区别教程(如果你对英文不太感兴趣,可以移步阅读中文版本).但是,如果我们把Flex ...
- Yarn 资源调度框架
Yarn 资源调度框架 实现对资源的细粒度封装(cpu,内存,带宽) 此外,还可以通过yarn协调多种不同计算框架(MR,Spark) 概述 Apache Hadoop ...
- 【xsy1281】 珠串 打表+乱搞or数位dp
题目大意:你要找出一个有$k$个的本质不同的$n$位二进制数的集合,使得集合中最大的数最小,请输出这个数 本质不同定义:对于一个数$k$,$rev(k)$,$~k$,$rev(~k)$与$k$本质相同 ...
- system表空间空间不足解决办法
场景描述: 系统表空间空间不足,导致应用无法正常连接!!! 环境描述: ORACLE 11G 查看当前表空间的整体使用情况,以及有没有开启自动扩展,以及扩展的最大限制!!! ---tablespace ...
- Scala使用Akka模拟RPC机制代码2
RemoteMessage.scala //对象要序列化才能通过网络传输 这个地方没有大括号....这有这个extends声明 trait RemoteMessage extends Serializ ...