常规操作
> sadd numbers one
(integer) 1
> sadd numbers one
(integer) 0 #去重
> sadd numbers five
(integer) 1
> sadd numbers four three #批量添加
(integer) 2
> smembers numbers #注意和插入顺序并不一致,因为set无序
1) "three"
2) "five"
3) "four"
4) "one"
> sismember numbers five #查找某个值是否存在
(integer) 1
> sismember numbers two
(integer) 0
> scard numbers #获取set的元素个数
(integer) 4
> spop numbers #弹出一个值
"three"
> smembers numbers
1) "five"
2) "four"
3) "one"
> srem numbers four #删除一个值
(integer) 1
> smembers numbers
1) "five"
2) "one"
内部实现
Redis的set的内部实现相当于一个特殊的字典,字典中的所有value都是NULL。
当集合中最后一个元素被移除之后,数据结构被自动删除,内存被回收。