Redis集合操作


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'])

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM