集合命令
a檢視b
共同關注 ab交集 sinter 或 sinterestrore
我(a)關注的人也關注b 迴圈遍歷我關注的人 是否有關注b sismember
可能認識的人 ab差集 (sdiff 或 sdiffstrore ) 然後排除掉自己 srem
redis 的 set 是 string 型別的無序集合。集合成員是唯一的,這就意味著集合中不能出現重複的資料。
redis 中集合是通過雜湊表實現的,所以新增,刪除,查詢的複雜度都是 o(1)。
集合中最大的成員數為 232 - 1 (4294967295, 每個集合可儲存40多億個成員)。
redis 127.0.0.1:6379> sadd runoobkey redis下表列出了 redis 集合基本命令:(integer) 1
redis 127.0.0.1:6379> sadd runoobkey mongodb
(integer) 1
redis 127.0.0.1:6379> sadd runoobkey mysql
(integer) 1
redis 127.0.0.1:6379> sadd runoobkey mysql
(integer) 0
redis 127.0.0.1:6379> smembers runoobkey
1) "mysql"
2) "mongodb"
3) "redis"
序號命令及描述
1sadd key member1 [member2]
向集合新增乙個或多個成員
2scard key
獲取集合的成員數
3sdiff key1 [key2]
返回給定所有集合的差集
4sdiffstore destination key1 [key2]
返回給定所有集合的差集並儲存在 destination 中
5sinter key1 [key2]
返回給定所有集合的交集
6sinterstore destination key1 [key2]
返回給定所有集合的交集並儲存在 destination 中
7sismember key member
判斷 member 元素是否是集合 key 的成員
8smembers key
返回集合中的所有成員
9smove source destination member
將 member 元素從 source 集合移動到 destination 集合
10spop key
移除並返回集合中的乙個隨機元素
11srandmember key [count]
返回集合中乙個或多個隨機數
12srem key member1 [member2]
移除集合中乙個或多個成員
13sunion key1 [key2]
返回所有給定集合的並集
14sunionstore destination key1 [key2]
所有給定集合的並集儲存在 destination 集合中
15sscan key cursor [match pattern] [count count]
迭代集合中的元素
取自
Redis實現關注關係
綜合考慮了一下redis的幾種資料結構後,覺得可以用集合實現一下。假設 我 的id是1,別人 的id是2。新增關注分為兩步 1 將對方id新增到自己的關注列表中 2 將自己的id新增到對方的粉絲列表中 sadd 1 follow 2 sadd 2 fans 1取消關注同樣分為兩步 1 將對方id從自...
Redis操作集合
在redis中,set和list都是字串序列,非常相似,不同之處在於set是用雜湊表來保持字串的唯一性,沒有先後順序,不像list一樣,可以在首尾增刪資料。但是set也有自己的相應處理命令來完成對自己的操作。下面我們來看下set的命令怎麼使用。redis中set列表的新增命令sadd,key值相同下...
redis集合指令
1.rpush 右邊插入 2.lpush 左邊插入 3.lrange 檢視list 起始位置,結束位置 1表示倒數第乙個數,2表示倒數第二個數 4.lpop 彈出 從頭部彈出 5.rpop 彈出 從尾部彈出 6.llen 獲取鍊錶長度 7.lpushx 從頭部 左邊 插入元素 8.rpushx 從尾...