记录背景
最近经常用到一些集合的操作,记录以备忘
命令列表
SADD key member [member …]
增加一个或者多个成员
例子:
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SADD myset "World"
(integer) 0
redis> SMEMBERS myset
1) "Hello"
2) "World"
redis>
SCARD key
获取集合里的成员的数量
例子:
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SCARD myset
(integer) 2
redis>
SMEMBERS key
返回集合中的成员列表
例子:
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SMEMBERS myset
1) "Hello"
2) "World"
redis>
SREM key member [member …]
移除集合里的一个或者多个成员
例子:
redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SREM myset "one"
(integer) 1
redis> SREM myset "four"
(integer) 0
redis> SMEMBERS myset
1) "three"
2) "two"
redis>
SPOP key [count]
随机移动集合里一个或者指定数量的成员
例子:
redis> SADD myset "one"
(integer) 1
redis> SADD myset "two"
(integer) 1
redis> SADD myset "three"
(integer) 1
redis> SPOP myset
"two"
redis> SMEMBERS myset
1) "three"
2) "one"
redis> SADD myset "four"
(integer) 1
redis> SADD myset "five"
(integer) 1
redis> SPOP myset 3
1) "three"
2) "one"
3) "five"
redis> SMEMBERS myset
1) "four"
更多命令
应用案例
https://github.com/matevip/matecloud
此项目里的网关黑名单功能就是采用set方式存储的数据,可以下载源码参考