目錄
Redis支持五種數據類型:String, Hash, List, Set, ZSet,這個系列介紹一下如何使用這些數據類型,本篇介紹使用命令行模式以及python客戶端對redis進行操作,實際項目的過程中也大多是一模一樣的用法。
相關內容:
Redis系列(一)、CentOS7下安裝Redis6.0.3穩定版
------------------------Redis無序集合類型----------------------
介紹
Redis 的 Set 是 string 類型的無序集合。
集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是 O(1)。
集合中最大的成員數爲 2^32 - 1 (4294967295, 每個集合可存儲40多億個成員)。
命令行模式
進入命令行模式:
redis-cli -a password_value
redis-cli -a password_value --raw
--raw 避免中文顯示亂碼
help
使用下面的命令查看手冊:
help @set
増
sadd
給集合內新增成員,若集合不存在則創建集合並新增成員:
SADD key member [member ...]
刪
srem
從集合中刪除指定的成員,返回刪除的個數:
SREM key member [member ...]
改
smove
SMOVE source destination member
查
smembers
查看集合中所有的成員:
SMEMBERS key
scard
返回集合中成員的個數 :
SCARD key
srandmember
從集合中隨機返回指定個數的成員:
SRANDMEMBER key [count]
sismember
判斷對象是否是集合中的成員,返回1/0,True/False:
SISMEMBER key member
spop
從集合中隨機彈出一個成員,返回該成員並從集合中刪除該成員:
SPOP key
交集
sinter
取多個集合的交集,返回這些集合中共同擁有的成員:
SINTER key [key ...]
sinterstore
將多個集合的交集的結果保存爲一個新的集合destination ,返回新集合的成員個數:
SINTERSTORE destination key [key ...]
並集
sunion
取多個集合的並集,相同的成員會被去重:
SUNION key [key ...]
sunionstore
將多個集合的並集的結果保存爲一個新的集合destination ,返回新集合的成員個數:
SUNIONSTORE destination key [key ...]
差集
sdiff
取多個集合的差集,以最左邊的爲主集合,返回左集合中有而其他集合沒有的成員:
SDIFF key [key ...]
sdiffstore
將多個集合的差集的結果保存爲一個新的集合destination ,返回新集合的成員個數 :
SDIFFSTORE destination key [key ...]
應用場景
- 抽獎:隨機返回指定個數成員
- 共同好友:取交集
- 好友推薦:根據標籤取交集,交集的成員個數大於某個閾值觸發推薦動作
Python客戶端與命令行函數基本上完全一致,篇幅太長因此不再過多的展示。
希望本文對你有幫助,請點個贊鼓勵一下作者吧~ 謝謝!