Redis 的 Set 是 String 類型的無序集合,元素不允許重覆。 Redis 中集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是 O(1)。 集合中最大的元素數為 232 - 1 (40多億)。 1、sadd key value1 value2 ...... //向集合中添加一個或 ...
Redis 的 Set 是 String 類型的無序集合,元素不允許重覆。
Redis 中集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是 O(1)。
集合中最大的元素數為 232 - 1 (40多億)。
1、sadd key value1 value2 ...... //向集合中添加一個或多個元素。sadd即set add,key是集合的名稱。返回此次添加的元素個數。
2、scard key //返回集合的元素個數
3、smembers key //返回集合中所有的元素
4、sismember key elementValue //判斷該集合中是否有elementValue這個元素。有返回1,沒有或者key不存在則返回0.
5、spop key //隨機移除並返回集合中的一個元素
6、srandmember key //隨機返回集合中的一個元素,並不移除該元素。srandmember即set random member.
可帶一個可選參數:srandmember key count //count是一個整數,指定返回的元素個數。
count>0:隨機返回count個元素,這些元素互不相同。隨機確定一個返回的元素後,再從剩餘的元素中隨機。
count<0:隨機返回count的絕對值個元素,這些元素可能相同。每次都是從整個集合中隨機一個。
count的絕對值大於等於集合的元素個數時,返回集合中所有的元素。
7、srem key value1 value2 .... //移除集合中的一個或多個元素,若集合中沒有該元素,會忽略該元素。
8、smove sourceKey destKey elementValue //將元素從一個集合移動到另一個集合。(剪切)
9、sscan key cursor match pattern count num //迭代集合中的元素。cursor指定對每元素的操作。
2個可選參數:
- match pattern 指定配置模式,只迭代符合pattern的元素
- count num 指定要迭代的元素個數
10、sinter key1 key2 .... //返回這些集合的交集
11、sinterstore destKey key1 key2 ..... //多了store,求key1、key2.....這些集合的交集,並將交集中的元素存儲在destKey集合中,返回交集中的元素個數
相同用法的還有:
- sunion 並集
- sdiff 差集