Redis学习笔记(4)
2015-08-22 18:08
441 查看
集合:在集合中每个元素都是不同的,且没有顺序。常用的操作是向集合加入或删除元素。判断某个元素是否存在等,由于集合类型在Redis内部是使用值为空的三列表实现的,所以这些操作的时间复杂度都是0(1)。最方便的是多个集合类型键之间还可以进行并集,交集和差运算。
命令
1 增加/删除元素
2 获得集合中的所有元素
3 判断元素是否在集合中
4 集合运算
(2)SINTER命令用来对多个集合执行交集运算。集合A与集合B的交集,代表所有属于A且属于B的元素构成的集合。
(3)SUNION命令用来对多个集合执行并集运算。集合A与集合B的并集,代表所有属性A或属于B的元素构成的集合。
5 获得集合中元素个数
6 进行集合运算并将结果存储
(1)SDIFFSTORE命令和SDIFF命令功能一样,唯一的区别就是前者不会直接返回运算结果,而是将结果存储在destination键中。
SDIFFSTORE命令常用于需要进行多步集合运算的场景中,如果需要先计算差集再将结果和其他键值计算交集。其他两个命令类似。
7 随机获得集合中的元素
count的值大于集合中的元素个数,则SRANDMEMBER会返回集合中的全部元素。
(2)当count为负数时,SRANDMEMBER会随机从集合里获得|count|个的元素,这些元素有
可能相同。
8 从集合中弹出一个元素
命令
1 增加/删除元素
SADD key member[member...] 可以向集合增加一个或多个元素,如果键不存在则会自动创建。如果已经有就忽略这个元素。返回加入元素的个数 SREM key member[member...] 删除一个或多个元素,返回删除个数
2 获得集合中的所有元素
SMEMBERS key
3 判断元素是否在集合中
SISMEMBER key member 存在返回1,不存在返回0
4 集合运算
SDIFF key [key ...] SINTER key [key...] SUNION key [key...](1)SDIFF命令用来对多个集合执行差集运算。集合A与集合B的差集表示A-B,代表有属于A且不属于B的元素构成的集合。
(2)SINTER命令用来对多个集合执行交集运算。集合A与集合B的交集,代表所有属于A且属于B的元素构成的集合。
(3)SUNION命令用来对多个集合执行并集运算。集合A与集合B的并集,代表所有属性A或属于B的元素构成的集合。
5 获得集合中元素个数
SCARD key
6 进行集合运算并将结果存储
SDIFFSTORE destination key [key...] SINTERSTORE destination key [key...] SUNIONSTORE destination key [key...]
(1)SDIFFSTORE命令和SDIFF命令功能一样,唯一的区别就是前者不会直接返回运算结果,而是将结果存储在destination键中。
SDIFFSTORE命令常用于需要进行多步集合运算的场景中,如果需要先计算差集再将结果和其他键值计算交集。其他两个命令类似。
7 随机获得集合中的元素
SRANDMEMBER key [count] count代表随机获得几个元素(1)当count为正数时,SRANDMEMBER会随机从集合里获得count个不重复的元素。如果
count的值大于集合中的元素个数,则SRANDMEMBER会返回集合中的全部元素。
(2)当count为负数时,SRANDMEMBER会随机从集合里获得|count|个的元素,这些元素有
可能相同。
8 从集合中弹出一个元素
SPOP key 因为集合是无序的,所以弹出来的也是随机的
相关文章推荐
- redis
- redis特点以及安装
- redis系列
- redis数据存储系统原理
- 简单介绍redis以及ubuntu和windows下如何安装redis和配置文件详解
- Redis(7)Creating and Using Cluster Mode
- redis cluster 集群重启关闭
- redis资料
- redis-3.0.3配置参考
- Redis集群
- 有关linux下redis overcommit_memory的问题
- Redis对象读写序列化
- 集群redis创建
- java对redis的基本操作
- 十个正确使用 Redis 的技巧
- 十个正确使用 Redis 的技巧
- Redis 缓存与 mysql 数据库
- (Windows)Redis安装
- 安装Redis完整过程
- 关于Spring Data redis几种对象序列化的比较