您的位置:首页 > 数据库 > Redis

Redis学习笔记(4)

2015-08-22 18:08 441 查看
集合:在集合中每个元素都是不同的,且没有顺序。常用的操作是向集合加入或删除元素。判断某个元素是否存在等,由于集合类型在Redis内部是使用值为空的三列表实现的,所以这些操作的时间复杂度都是0(1)。最方便的是多个集合类型键之间还可以进行并集,交集和差运算。

命令

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 因为集合是无序的,所以弹出来的也是随机的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: