一、Set 类型
Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。
Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1)。
二、常用操作
sadd <key> <value1> <value2>...
|
将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略
|
smembers <key> |
取出该集合的所有值
|
sismember <key> <value> |
判断集合 <key> 是否为含有该 <value> 值,有返回1,没有返回0
|
scard <key> |
返回该集合中的元素个数
|
srem <key><value1><value2>... |
删除集合中的某个元素
|
spop <key> |
随机从该集合中吐出一个值
|
srandmember <key> <n> |
随机从该集合中取出 n 个值,不会从集合中删除
|
sinter <key1><key2> |
返回两个集合的交集元素
|
sunion <key1><key2> |
返回两个集合的并集元素
|
sdiff <key1><key2> |
返回两个集合的差集元素
|