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集合操作的更多相关文章

  1. Redis 集合操作

    1.SCARD key 返回集合 key 的基数(集合中元素的数量). 2.SDIFFSTORE destination key [key ...] 这个命令的作用和  类似,但它将结果保存到 des ...

  2. [Redis-CentOS7]Redis集合操作(四)

    SADD 集合添加 127.0.0.1:6379> SADD bbs discuz.net (integer) 1 127.0.0.1:6379> SADD bbs "tiany ...

  3. 【springboot】【redis】springboot结合redis,操作List集合实现时间轴功能

    springboot结合redis,操作List集合实现时间轴功能

  4. python学习之-- redis模块操作 集合和有序集合

    redis 模块操作之 集合set和有序集合zset Set 集合操作,不允许重复的列表sadd(name,value):name对应的集合中添加元素scard(name):获取name对应的集合中元 ...

  5. Redis集合的常用操作指令

    Redis集合的常用操作指令 Sets常用操作指令 SADD 将指定的元素添加到集合.如果集合中存在该元素,则忽略. 如果集合不存在,会先创建一个集合然后在添加元素. 127.0.0.1:6379&g ...

  6. php redis数据库操作类

    <?php namespace iphp\db; use iphp\App; /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串. * 只有在key不存在时, ...

  7. 《Redis 数据操作》

    一:字符串类型(string) - 应用场景  - 用于常规计数,常规的 key-value 存储. - 常用操作 常用操作 设置一个值为(字符串类型) SET key value 设置一个值并设置过 ...

  8. SpringBoot入门 (七) Redis访问操作

    本文记录学习在SpringBoot中使用Redis. 一 什么是Redis Redis 是一个速度非常快的非关系数据库(Non-Relational Database),它可以存储键(Key)与 多种 ...

  9. Redis(三)Redis基本命令操作与API

    一Redis 连接 Redis 连接命令主要是用于连接 redis 服务. 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1: ...

随机推荐

  1. [leet code 135]candy

    1 题目 There are N children standing in a line. Each child is assigned a rating value. You are giving ...

  2. collaborative filtering协同过滤

    每次我想看电影的时候,都会去问我的朋友,小健.一般他推荐的电影,我都比较喜欢.显然不是所有人都有小健这样的能力.因为我碰巧和小健有类似的品味. 这个生活中的经验,实际上有着广泛的用途. 当系统需要为某 ...

  3. .NET 证书加密 存储保存 IIS授权

    最近接到一个任务,加密DotNet项目的配置文件.配置文件里需要加密的地方一共有两块,一个是数据库连接字符串,一个是自定义的所有AppSettings. 一开始接到这个任务我是拒绝的,因为压根不知道怎 ...

  4. UWP 查找模板中的控件

    这个标题我也不知道咋起,意思说一下你就明白. 1. 对官方控件的模板进行定制修改,以满足多样化需求,还有漂亮的UI 比如ListView,GridView等. 2. 在设计的情况下并没有这个控件,而在 ...

  5. jquery banner 轮播配置方法

    1 概述 Banner可以作为网站页面的横幅广告,也可以作为游行活动时用的旗帜,还可以是报纸杂志上的大标题.Banner主要体现中心意旨,形象鲜明表达最主要的情感思想或宣传中心.在以往很多项目中主要体 ...

  6. 组件基础(插槽slot)—Vue学习笔记

    刚开始我们淡淡提过<slot></slot>现在深入了解一下. slot可以进行父组件传值到子组件. 比如:我们将hiboy通过<slot>传递到组件中. < ...

  7. 一步步Cobol 400 上手自学入门教程03 - 数据部

    数据部的作用 程序中涉及到的全部数据(输入.输出.中间)都要在此定义,对它们的属性进行说明.主要描述以下属性: 数据类型(数值/字符)和存储形式(长度) 数据项之间的关系(层次和层号) 文件与记录的关 ...

  8. 装饰器中的@functools.wraps的作用

    def login_required(view_func): @functools.wraps(view_func) def wrapper(*args, **kwargs): ...... retu ...

  9. 用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器(转)

    用开源 ASP.NET MVC 程序 Bonobo Git Server 搭建 Git 服务器   现在不用Git,都不好意思说自己是程序员. 当你想用Git,而源代码服务器是Windows系统时,你 ...

  10. odoo开发笔记 -- 权限机制

    转两篇关于权限的2篇文章,加深这方面的认识.注:后面附有原作者地址,希望不构成侵权. https://www.cnblogs.com/crazyguo/p/6999408.html 第一篇:http: ...