Redis 学习笔记(六)之 set无序集合
来源:互联网 发布:淘宝如何找人工客服 编辑:程序博客网 时间:2024/06/08 13:45
转自:http://blog.csdn.net/men_wen/article/details/61916268
1. 介绍
- 一个集合类型可以存储最多2^32 -1 个字符串
- 集合类型在redis内部使用值为空的散列表(hash table)实现,所以集合中的加入或删除元素等时间复杂度为O(1)。
- 集合具有元素唯一性。
set集合命令
- SADD
- 添加一个或多个指定的member元素到集合的 key中.指定的一个或者多个元素member 如果已经在集合key中存在则忽略.如果集合key 不存在,则新建集合key,并添加member元素到集合key中.
- 如果key 的类型不是集合则返回错误.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- SMEMBERS
- 返回key集合所有的元素。该命令的作用与使用一个参数的SINTER 命令作用相同。
- 1
- 1
- 2
- 3
- 4
- 5
- SISMEMBER
- 返回成员 member 是否是存储的集合 key的成员.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- SREM
- 在key集合中移除指定的元素. 如果指定的元素不是key集合中的元素则忽略 如果key集合不存在则被视为一个空的集合,该命令返回0。如果key的类型不是一个集合,则返回错误.
- 1
- 1
- 2
- 3
- 4
- SPOP
- 随机删除并返回集合中的若干元素
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- SRANDMEMBER
- 随机返回key集合中的若干元素。
- 接受 count 参数,如果count是整数且小于元素的个数,返回含有 count 个不同的元素的数组,如果count是个整数且大于集合中元素的个数时,仅返回整个集合的所有元素,当count是负数,则会返回一个包含count的绝对值的个数元素的数组,如果count的绝对值大于元素的个数,则返回的结果集里会出现一个元素出现多次的情况。
- 提供key参数时,该命令作用类似于SPOP命令, 不同的是SPOP命令会将被选择的随机元素从集合中移除, 而SRANDMEMBER仅仅是返回该随记元素,而不做任何操作。
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- SDIFF
- 返回一个集合与给定集合的差集的元素.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- SINTER
- 返回指定所有的集合的成员的交集。
- 1
- 1
- 2
- 3
- 4
- 5
- 6
-SUNION
- 返回给定的多个集合的并集中的所有成员.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- SCARD
- 返回集合存储的key的基数 (集合元素的数量).
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- SDIFFSTORE
- 该命令类似于 SDIFF, 不同之处在于该命令不返回结果集,而是将结果存放在destination集合中.
- 如果destination已经存在, 则将其覆盖重写.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- SINTERSTORE
- 这个命令与SINTER命令类似, 但是它并不是直接返回结果集,而是将结果保存在 destination集合中.
- 如果destination 集合存在, 则会被重写.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- SUNIONSTORE
- 该命令作用类似于SUNION命令,不同的是它并不返回结果集,而是将结果存储在destination集合中.
- 如果destination 已经存在,则将其覆盖.
SUNIONSTORE destination key [key ...]
127.0.0.1:6379> SUNIONSTORE diffSet myset1 myset2
(integer) 7
127.0.0.1:6379> SMEMBERS diffSet
1) "e"
2) "d"
3) "c"
4) "g"
5) "b"
6) "f"
7) "a" - SMOVE
- 将member从source集合移动到destination集合中.
- 如果source 集合不存在或者不包含指定的元素,这smove命令不执行任何操作并且返回0.否则对象将会从source集合中移除,并添加到destination集合中去,如果destination集合已经存在该元素,则smove命令仅将该元素充source集合中移除. 如果source 和destination不是集合类型,则返回错误.
- 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
阅读全文
0 0
- Redis 学习笔记(六)之 set无序集合
- Redis 学习笔记(六)之 set无序集合
- Redis学习笔记之六:集合类型Set
- Redis基础之数据类型(Set无序集合)
- Redis学习笔记(六)类型之有序集合
- Redis五大数据类型之无序集合set
- redis学习笔记四之基础命令—set集合
- redis无序集合set类型详解
- redis详解-(6)无序集合set
- redis源码分析(六)、redis命令学习总结—Redis 集合(Set)
- redis 学习手册之无序集合数据类型sets操作命令
- 无序集合(set)数据类型
- Redis学习笔记(5)对set集合的读写
- Redis笔记5:数据类型之集合(Set)
- redis之set集合
- Redis教程(六) 有序集合(soted set / zset)类型
- Redis教程(六) 有序集合(soted set / zset)类型
- Redis命令学习-Set(集合)
- Flume(NG)架构设计要点及配置实践
- oracle借助dual查询
- Greedy technique
- autoMonkey框架原理与应用(二):Monkey测试策略
- 共轭梯度法(Conjugate Gradient Method)
- Redis 学习笔记(六)之 set无序集合
- Redis Sentinel 哨兵原理、安装、配置
- too many arguments to funcation call,
- java8 获取当天的开始时间和结束时间
- 如何撰写英文论文
- 慕课网——PHP进阶篇(会话控制:session与cookie)
- PAT1021
- PAT --- 1024. 科学计数法 (20)
- sql分页 Mysql Oracle SqlServer