Redis的集合以無序的形式存儲多個各不相同的元素
(常用的集合命令)
SADD : SADD key-name item [item ...]----------將一個或多個元素添加到集合里,並返回添加的元素數量(重復的元素不會被添加)
SREM : SREM key-name item [item ..]---------從一個集合里面移除一個或多個元素,並返回被移除的元素數量
SISMEMBER : SISMEMBER key-name item -------檢查元素item是否存在於集合key-name里
SCARD : SCARD key-name --------------------------返回集合包含的元素數量
SMEMBERS : SMEMBERS key-name ---------------返回集合包含的所有元素
SRANDMEMBER : SRANDMEMBER key-name [count] ---------------從集合里面隨機返回一個或多個元素,當count為正數時,返回的元素不會重復,當count為負數時,返回的元素可能重復
SPOP : SPOP key-name ------------------------------隨機移除集合中的一個元素,並返回被移除的元素
SMOVE : SMOVE source-key dest-key item -------------------------如果集合source-key包含元素item,那么從集合source-key里面移除元素item,並將元素item添加到集合dest-key中:如果item被成功移除,那么命令返回1,否則返回0
>>> conn.sadd('set-key','a','b','c') 3 >>> conn.srem('set-key','c','d') 1 >>> conn.srem('set-key','c','d') 0 >>> conn.smembers('set-key') set(['a', 'b']) >>> conn.scard('set-key') 2 >>> conn.smove('set-key','set-key2','a') True >>> conn.smove('set-key','set-key2','c') False >>> conn.sadd('set-key','a') 1 >>> conn.smove('set-key','set-key2','a') True >>> conn.smembers('set-key') set(['b']) >>> conn.smembers('set-key2') set(['a'])
(用於組合和處理多個集合的redis命令)
SDIFF : SDIFF key-name [key-name ...] ------------------返回那些存在於第一個集合,但不存在於其他集合中的元素(數學上的差集運算)
SDIFFSTORE : SDIFFSTORE dest-key key-name [key-name..] --------------將那些存在於第一個集合但並不存在其他集合中的元素存儲到dest-key集合中
SINTER : SINTER key-name [key-name ...] -----------------------------------返回那些同時存在所有集合中的元素(數學上的交集運算)
SINTERSTORE : SINTERSTORE dest-key key-name [key-name..] --------------將那些同時存在所有集合中的元素存儲到dest-key集合中
SUNION : SUNION key-name [key-name..] ------------------------------------返回那些存在於任意一個集合中的元素(數學上的並集運算)
SUNIONSTORE : SUNIONSTORE dest-key key-name [key-name..] --------------將那些存在於任意一個集合中的元素存儲到dest-key集合中
>>> conn.sadd('skey1','a','b','c','d') 4 >>> conn.sadd('skey2','c','d','e','f') 4 >>> conn.sdiff('skey1','skey2') set(['a', 'b']) >>> conn.sinter('skey1','skey2') set(['c', 'd']) >>> conn.sunion('skey1','skey2') set(['a', 'c', 'b', 'e', 'd', 'f'])