儲存多個各不相同的元素
redis的集合以無序的方式儲存多個各不相同的元素。使用者可以快速地向集合新增元素,或者從集合裡面刪除元素,也可以對多個集合進行集合運算操作,比如計算並集、交集和差集。
sadd key element [element …]
將乙個或多個元素新增到給定的集合裡面,已經存在於集合的元素會自動忽略,命令返回新新增到集合的元素數量。
srem key element [element …]
移除集合中的乙個或者多個元素,不存在於集合的元素會自動被忽略,命令返回存在並且被移除的元素數量。
sismember key element
檢查給定的元素是否存在於集合,存在的話返回1;如果元素不存在,或者給定的鍵不存在,那麼返回0.
scard key
返回集合包含的元素數量(也即是集合的基數)
smembers key
返回集合包含的所有元素。當集合的元素數量比較大時,執行該命令有可能會造成伺服器阻塞。
api說明
操作vote(key, client)
將投票結果記錄到給定的鍵
使用集合來儲存所有已投票的人
vote.cast(user)
使用者進行投票。
使用sadd將使用者新增到集合裡面。
vote.undo(user)
取消使用者的投票。
使用srem將使用者從集合中移除。
vote.is_voted(user)
檢查使用者是否已投票。
使用sismember檢查使用者是否存在於集合。
vote.voted_members()
返回所有已投票使用者。
呼叫smembers。
vote.voted_count()
返回已投票使用者的數量。
呼叫scard。
api說明
操作tag(key, client)
使用指定的鍵來儲存某種東西的標籤。
使用集合來儲存標籤。
tag.add(*tags)
新增任意多個標籤。
呼叫sadd命令。
tag.remove(*tags)
移除任意多個標籤
呼叫srem命令
tag.is_include(tag)
檢查某個標籤是否存在。
呼叫sismember命令
tag.get_all()
返回所有標籤。
呼叫smembers命令。
tag.count()
返回標籤的數量。
呼叫scard命令。
spop key
隨機地從集合中移除並返回乙個元素
srandmember key [count]
如果沒有給定可選的count引數,那麼命令隨機地返回集合中的乙個元素。
如果給定了count引數,那麼:
api說明
操作loterry(key, client)
使用指定的鍵來儲存參與**的人。
使用集合來儲存參與**的人。
loterry.add_player(*user)
新增參與者
呼叫sadd命令
loterry.get_all_players()
返回所有參與者
呼叫smembers命令。
loterry.player_count()
返回參與者數量
呼叫scard命令
loterry.draw(n)
抽出n個獲獎者。
呼叫srandmember命令。
sdiff key [key …]
計算所有給定集合的差集,並返回結果。
sdiffstore destkey key [key …]
計算所有給定集合的差集,並將結果儲存到destkey。
sinter key [key …]
計算所有給定集合的交集,並返回結果。
sinterstore destkey key [key …]
計算所有給定集合的交集,並將結果儲存到destkey。
sunion key [key …]
計算所有給定集合的交並集,並返回結果。
sunionstore destkey key [key …]
計算所有給定集合的並集,並將結果儲存到destkey。
api說明
操作itemfilter(client)
指定客戶端。
itemfilter.add_option(item_set)
新增乙個篩選條件選項,item_set集合儲存了所有符合該選項的商品。
把item_set新增到乙個python集合裡面,等待進行篩選
itemfilter.result()
根據目前已給定的選項進行篩選,並返回符合條件的商品。
使用sinter,對所有已給定選項的集合進行計算。
itemfilter.store_result(key)
根據目前已給定的選項進行篩選,並把篩選結果儲存到給定的鍵裡面。
使用sinterstore,計算並儲存交集結果
redis學習筆記四 集合
1 新增 刪除元素 sadd key member member.srem key member member.新增的時候,如果元素不存在自動建立,如果存在會自動忽略,不進行新增 2 獲取集合中的所有元素 smembers key 3 判斷元素是否在集合中 sismember key member ...
Redis系列 6 集合(Set)結構
集合間的操作 內部編碼 適合場景 redsi裡的集合叫set,和其他語言有一些不同。在資料結構上,集合裡的資料原則上是沒有先後的。就像去超市買了一大袋東西,袋子就是乙個集合,裡面的東西也沒什麼必然的聯絡吧?下面所有描述裡 都是必需引數,是可選引數 設定值sadd 可以新新增乙個集合並一次新增多個元素...
redis學習筆記 二 集合型別
一 集合型別的常用操作是向集合中加入或刪除元素 判斷某個元素是否存在。1.增加 刪除元素 sadd srem key member member redis 127.0.0.1 6379 sadd letters a integer 1 redis 127.0.0.1 6379 sadd lette...