Python操做redis學習系列之(集合)set,redis set詳解 (六)

# -*- coding: utf-8 -*-
import redis
r = redis.Redis(host="126.56.74.190",port=639,password="66666666")
1. Sadd 命令將一個或多個成員元素加入到集合中,已經存在於集合的成員元素將被忽略。
假如集合 key 不存在,則建立一個只包含添加的元素做成員的集合。當集合 key 不是集合類型時,返回一個錯誤。
print r.sadd("1",1)     #輸出的結果是1
print r.sadd("1",2)     #輸出的結果是1
print r.sadd("1",2)     #由於2已經存在,不能再次田間,因此輸出的結果是0
print r.sadd("1",3,4)   #輸出的結果是2
print r.sinter("1")     #輸出的結果是set(['1', '3', '2', '4'])
2.Scard 命令返回集合中元素的數量。集合的數量。 當集合 key 不存在時,返回 0 。
print r.sadd("2",1)         #輸出的結果是1
print r.sadd("2",2,3,4,5)   #輸出的結果是1
print r.scard("2")          #輸出的結果是5
3.Sdiff 命令返回給定集合之間的差集。不存在的集合 key 將視爲空集。
print r.sadd("31",1,2,3,4,5,6)      #輸出的結果是6
print r.sadd("32",4,5,6,7,8,9)      #輸出的結果是6
print r.sdiff(31,32)            #輸出的結果是set(['1', '3', '2'])
print r.sdiff(32,31)            #輸出的結果是set(['9', '8', '7'])
print r.sdiff(31,31)            #輸出的結果是set([])
4.Sdiffstore 命令將給定集合之間的差集存儲在指定的集合中。若是指定的集合 key 已存在,則會被覆蓋。
print r.sadd("41",1,2,3,4,5,6)      #輸出的結果是6
print r.sadd("42",4,5,6,7,8,9)      #輸出的結果是6
print r.sadd("43",0)                #輸出的結果是1
print r.sdiffstore("43","41","42")  #輸出的結果是3
print r.sinter("43")                 #輸出的結果是 set(['1', '3', '2'])
5.Sinter 命令返回給定全部給定集合的交集。 不存在的集合 key 被視爲空集。 當給定集合當中有一個空集時,結果也爲空集(根據集合運算定律)。
print r.sadd("51",3,4,5,6)      #輸出的結果是4
print r.sadd("52",1,2,3,4)      #輸出的結果是4
print r.sinter(51,52)           #輸出的結果是set(['3', '4'])
print r.sadd("53",1,2,3,4,5,6)  #輸出的結果是6
print r.sadd("54",3,4,5,6,7,8,9)#輸出的結果是7
print r.sinter(53,54)           #輸出的結果是set(['3', '5', '4', '6'])
print r.sinter(53,56)           #輸出的結果是set([])
6.Sinterstore 命令將給定集合之間的交集存儲在指定的集合中。若是指定的集合已經存在,則將其覆蓋。
print r.sadd("61",3,4,5,6)      #輸出的結果是4
print r.sadd("62",1,2,3,4)      #輸出的結果是4
print r.sadd("63",0)            #輸出的結果是1
print r.sinterstore(63,61,62)   #輸出的結果是2
print r.sinter(63)              #輸出的結果是set(['3', '4'])
7.Sismember 命令判斷成員元素是不是集合的成員。
若是成員元素是集合的成員,返回 1 。 若是成員元素不是集合的成員,或 key 不存在,返回 0 。
print r.sadd("71",1,2,3,4,5,6)   #輸出的結果是6
print r.sismember("71",1)        #輸出的結果是True
print r.sismember("71",2)        #輸出的結果是True
print r.sismember("71",7)        #輸出的結果是False
print r.sismember("71",8)        #輸出的結果是False
8.Smembers 命令返回集合中的全部的成員。 不存在的集合 key 被視爲空集合。
print r.sadd("81",1,2,3,4,5,6)   #輸出的結果是6
print r.smembers(81)             #輸出的結果是set(['1', '3', '2', '5', '4', '6'])
print r.smembers(82)             #輸出的結果是set([])
9.Smove 命令將指定成員 member 元素從 source 集合移動到 destination 集合。
SMOVE 是原子性操做。
若是 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執行任何操做,僅返回 False 。不然, member 元素從 source 集合中被移除,並添加到 destination 集合中去。
當 destination 集合已經包含 member 元素時, SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。
當 source 或 destination 不是集合類型時,返回一個錯誤。
若是成員元素被成功移除,返回 True。 若是成員元素不是 source 集合的成員,而且沒有任何操做對 destination 集合執行,那麼返回 False
print r.sadd("91",1,2,)     #輸出的結果是2
print r.sadd("92",3,4,)     #輸出的結果是2
print r.smove(91,92,1)      #把91中的1移動到92中去,輸出的結果是True
print r.smembers("91")      #輸出的結果是set(['2'])
print r.smembers("92")      #輸出的結果是set(['1', '3', '4'])
print r.smove(91,92,5)      #91不存在5,輸出的結果是False
print r.smembers("91")      #輸出的結果是set(['2'])
print r.smembers("92")      #輸出的結果是set(['1', '3', '4'])
10. Spop 命令用於移除並返回集合中的一個隨機元素。
print r.sadd("10",1,2,3,4,5,6)  #輸出的結果是6
print r.spop("10")              #輸出的結果是3
print r.smembers("10")          #輸出的結果是set(['1', '2', '5', '4', '6'])
print r.spop("10")              #輸出的結果是1
print r.smembers("10")          #輸出的結果是set(['2', '5', '4', '6'])
11.Srandmember 命令用於返回集合中的一個隨機元素。
從 Redis 2.6 版本開始, Srandmember 命令接受可選的 count 參數:
若是 count 爲正數,且小於集合基數,那麼命令返回一個包含 count 個元素的數組,數組中的元素各不相同。若是 count 大於等於集合基數,那麼返回整個集合。
若是 count 爲負數,那麼命令返回一個數組,數組中的元素可能會重複出現屢次,而數組的長度爲 count 的絕對值。
該操做和 SPOP 類似,但 SPOP 將隨機元素從集合中移除並返回,而 Srandmember 則僅僅返回隨機元素,而不對集合進行任何改動。
print r.sadd("11",1,2,3,4,5,6)  #輸出的結果是6
print r.srandmember(11)         #輸出的結果是4
print r.smembers(11)            #輸出的結果是set(['1', '3', '2', '5', '4', '6'])
print r.srandmember(11,3)         #輸出的結果是['6', '3', '1']
print r.smembers(11)            #輸出的結果是set(['1', '3', '2', '5', '4', '6'])
12. Srem 命令用於移除集合中的一個或多個成員元素,不存在的成員元素會被忽略。
當 key 不是集合類型,返回一個錯誤。
被成功移除的元素的數量,不包括被忽略的元素。
print r.sadd("12",1,2,3,4,5,6,7)    #輸出的結果是7
print r.srem("12",1)                #輸出的結果是1
print r.smembers("12")              #輸出的結果是set(['3', '2', '5', '4', '7', '6'])
print r.srem("12",8)                #輸出的結果是0
print r.smembers("12")              #輸出的結果是set(['3', '2', '5', '4', '7', '6'])
 13.Sunion 命令返回給定集合的並集。不存在的集合 key 被視爲空集。
print r.sadd("131",1,2,3,4,5,6,7)    #輸出的結果是7
print r.sadd("132",0,1,2,7,8,9)      #輸出的結果是6
print r.sunion(131,132)             #輸出的結果是set(['1', '0', '3', '2', '5', '4', '7', '6', '9', '8'])
print r.sunion(131,134)             #輸出的結果是set(['1', '3', '2', '5', '4', '7', '6'])
 14.Sunionstore 命令將給定集合的並集存儲在指定的集合 destination 中。
print r.sadd("141",1,2,3,4,5,6,7)    #輸出的結果是7
print r.sadd("142",0,1,2,3,4)        #輸出的結果是5
print r.sunionstore(143,141,142)     #輸出的結果是8
print r.smembers(143)                #輸出的結果是set(['1', '0', '3', '2', '5', '4', '7', '6'])
 15.Sscan 命令用於迭代集合鍵中的元素。
print r.sadd("151",1,2,3,4,5,6,7)           #輸出的結果是7
print r.sscan(151,cursor=2,match=1,count=1) #輸出的結果是 (0L, ['1'])

redis安裝和配置(一) http://www.cnblogs.com/xuchunlin/p/6676308.htmlhtml

redis學習 (key)鍵,Python操做redis 鍵 (二) http://www.cnblogs.com/xuchunlin/p/7061524.htmlpython

Python操做redis字符串(String)詳解 (三) http://www.cnblogs.com/xuchunlin/p/7062065.htmlredis

Python操做redis系列以 哈希(Hash)命令詳解(四) http://www.cnblogs.com/xuchunlin/p/7064860.htmlwindows

Python操做redis系列之 列表(list) (五) http://www.cnblogs.com/xuchunlin/p/7067154.html數組

Python操做redis學習系列之(集合)set,redis set詳解 (六)http://www.cnblogs.com/xuchunlin/p/7070267.html學習

python 操做redis之——有序集合(sorted set) (七) http://www.cnblogs.com/xuchunlin/p/7097272.htmlspa

python 操做redis之——HyperLogLog (八) http://www.cnblogs.com/xuchunlin/p/7097272.html.net

redis.windows.conf各項配置參數介紹 (九) http://www.cnblogs.com/xuchunlin/p/7097729.htmlcode




附錄: 字符串命令
  Redis 集合(Set) 命令
命令 描述
Redis Sadd 命令 向集合添加一個或多個成員
Redis Scard 命令 獲取集合的成員數
Redis Sdiff 命令 返回給定全部集合的差集
Redis Sdiffstore 命令 返回給定全部集合的差集並存儲在 destination 中
Redis Sinter 命令 返回給定全部集合的交集
Redis Sinterstore 命令 返回給定全部集合的交集並存儲在 destination 中
Redis Sismember 命令 判斷 member 元素是不是集合 key 的成員
Redis Smembers 命令 返回集合中的全部成員
Redis Smove 命令 將 member 元素從 source 集合移動到 destination 集合
Redis Spop 命令 移除並返回集合中的一個隨機元素
Redis Srandmember 命令 返回集合中一個或多個隨機數
Redis Srem 命令 移除集合中一個或多個成員
Redis Sunion 命令 返回全部給定集合的並集
Redis Sunionstore 命令 全部給定集合的並集存儲在 destination 集合中
Redis Sscan 命令 迭代集合中的元素
相關文章
相關標籤/搜索