麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > 綜合 > 正文

Redis筆記5:數(shù)據(jù)類型之集合(Set)

2024-07-21 02:51:21
字體:
供稿:網(wǎng)友
命令 描述 語法SADD 添加值 SADD key member [member ...]SMEMBERS 遍歷集合 SMEMBERS keySCARD 獲取key的成員數(shù)量 SCARD keySISMEMBER 判斷成員是否存在 SISMEMBER key memberSpop 隨機刪除元素 Spop keySREM 刪除指定的成員 SREM key member [member ...]SRANDMEMBER 隨機返回成員,不刪除原值 SRANDMEMBER keySMOVE 移動一個集合的成員到另一個集合 SMOVE source destination memberSDIFF 求集合差集 SDIFF key [key ...]SDIFFSTORE 集合中的差集存儲到新集合中 SDIFFSTORE destination key [key ...]SINTER 求集合交集 SINTER key [key ...]SINTERSTORE 將集合交集存儲到新集合 SINTERSTORE destination key [key ...]SUNION 求集合并集 SUNION key [key ...]SUNIONSTORE 將集合的并集存儲到新集合 SUNIONSTORE destination key [key ...]

1、SADD key member [member …]

將一個或多個 member 元素加入到集合 key 當中,已經(jīng)存在于集合的 member 元素將被忽略。假如 key 不存在,則創(chuàng)建一個只包含 member 元素作成員的集合。當 key 不是集合類型時,返回一個錯誤。 返回值: 被添加到集合中的新元素的數(shù)量,不包括被忽略的元素。 示例:

127.0.0.1:6379[15]> SADD bbs "discuz.net" # 添加單個元素(integer) 1127.0.0.1:6379[15]> SADD bbs "discuz.net" # 添加重復(fù)元素(integer) 0127.0.0.1:6379[15]> SADD bbs "tianya.cn" "groups.google.com" # 添加多個元素(integer) 2127.0.0.1:6379[15]> SMEMBERS bbs1) "tianya.cn"2) "groups.google.com"3) "discuz.net"

2、SMEMBERS key

返回集合 key 中的所有成員。不存在的 key 被視為空集合。 返回值: 集合中的所有成員。 示例:

127.0.0.1:6379[15]> EXISTS not_exists_key(integer) 0127.0.0.1:6379[15]> SMEMBERS not_exists_key(empty list or set)127.0.0.1:6379[15]> SADD language c++ .net java(integer) 3127.0.0.1:6379[15]> SMEMBERS language1) "java"2) ".net"3) "c++"

3、SCARD key

返回集合中元素的數(shù)量。 返回值: 集合的元素數(shù)量。當 key 不存在時,返回 0 。 示例:

127.0.0.1:6379[15]> SADD language c++ .net java(integer) 3127.0.0.1:6379> SCARD language(integer) 3

4、SISMEMBER key member

判斷 member 元素是否集合 key 的成員。 返回值: 如果 member 元素是集合的成員,返回 1 。 如果 member 元素不是集合的成員,或 key 不存在,返回 0 。 示例:

127.0.0.1:6379[15]> SADD "joe's_movies" "hi,lady" "fast five" "2012"(integer) 3127.0.0.1:6379[15]> SMEMBERS "joe's_movies"1) "fast five"2) "hi,lady"3) "2012"127.0.0.1:6379[15]> SISMEMBER "joe's_movies" 2012(integer) 1

5、SPOP key

移除并返回集合中的一個隨機元素。 如果只想獲取一個隨機元素,但不想該元素從集合中被移除的話,可以使用SRANDMEMBER 命令。 返回值: 被移除的隨機元素。 當 key 不存在或 key 是空集時,返回 nil 。 示例:

127.0.0.1:6379[15]> SADD mydb MySQL MongoDB Redis(integer) 3127.0.0.1:6379[15]> SPOP mydb"Redis"127.0.0.1:6379[15]> SMEMBERS mydb1) "MySql"2) "MongoDB"127.0.0.1:6379[15]> SPOP mydb"MySql"127.0.0.1:6379[15]> SMEMBERS mydb1) "MongoDB"

6、SREM key member [member …]

移除集合 key 中的一個或多個 member 元素,不存在的 member 元素會被忽略。 當 key 不是集合類型,返回一個錯誤。 返回值: 被成功移除的元素的數(shù)量,不包括被忽略的元素。 示例:

127.0.0.1:6379[15]> SADD languages c lisp python ruby(integer) 4127.0.0.1:6379[15]> SMEMBERS languages1) "python"2) "lisp"3) "c"4) "ruby"127.0.0.1:6379[15]> SREM languages ruby # 移除單個元素(integer) 1127.0.0.1:6379[15]> SREM languages non-exists-language #移除不存在的元素(integer) 0127.0.0.1:6379[15]> SREM languages lisp python c # 移除多個元素(integer) 3127.0.0.1:6379[15]> SMEMBERS languages(empty list or set)

7、SRANDMEMBER key [count]

返回集合中的一個隨機元素。如果 count 為正數(shù),且小于集合基數(shù),那么命令返回一個包含 count 個元素的數(shù)組,數(shù)組中的元素各不相同。如果 count 大于等于集合基數(shù),那么返回整個集合。 如果 count 為負數(shù),那么命令返回一個數(shù)組,數(shù)組中的元素可能會重復(fù)出現(xiàn)多次,而數(shù)組的長度為count 的絕對值。 返回值: 只提供 key 參數(shù)時,返回一個元素;如果集合為空,返回 nil 。 如果提供了 count 參數(shù),那么返回一個數(shù)組;如果集合為空,返回空數(shù)組。 示例:

127.0.0.1:6379> SADD fruit apple banana cherry(integer) 3127.0.0.1:6379> SRANDMEMBER fruit "banana"127.0.0.1:6379> SRANDMEMBER fruit 21) "cherry"2) "apple"127.0.0.1:6379> SRANDMEMBER fruit 101) "banana"2) "cherry"3) "apple"127.0.0.1:6379> SRANDMEMBER fruit 0(empty list or set)127.0.0.1:6379> SRANDMEMBER fruit -11) "apple"

8、SMOVE source destination member

將 member 元素從 source 集合移動到 destination 集合。如果 source 集合不存在或不包含指定的 member 元素,則SMOVE 命令不執(zhí)行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,并添加到 destination 集合中去。 當 destination 集合已經(jīng)包含 member 元素時,SMOVE 命令只是簡單地將 source 集合中的 member 元素刪除。 當 source 或 destination 不是集合類型時,返回一個錯誤。 返回值: 如果 member 元素被成功移除,返回 1 。 如果 member 元素不是 source 集合的成員,并且沒有任何操作對 destination 集合執(zhí)行,那么返回。 示例:

127.0.0.1:6379> SADD myset1 a b c d(integer) 4127.0.0.1:6379> SADD myset2 b(integer) 1127.0.0.1:6379> SMOVE myset1 myset2 a #移動a,myset2中不存在的元素(integer) 1127.0.0.1:6379> SMEMBERS myset11) "b"2) "c"3) "d"127.0.0.1:6379> SMEMBERS myset21) "b"2) "a"127.0.0.1:6379> flushdbOK127.0.0.1:6379> SADD myset1 a b c d(integer) 4127.0.0.1:6379> SADD myset2 b(integer) 1127.0.0.1:6379> SMOVE myset1 myset2 b #移動b,myset2中已經(jīng)有了的元素(integer) 1127.0.0.1:6379> SMEMBERS myset11) "c"2) "d"3) "a"127.0.0.1:6379> SMEMBERS myset21) "b"

9、SDIFF key [key …]

返回給定集合之間的差集。不存在的集合 key 將視為空集。 返回值: 包含差集成員的列表。 示例:

127.0.0.1:6379[15]> SADD myset1 a b c(integer) 3127.0.0.1:6379[15]> SADD myset2 c d e(integer) 3127.0.0.1:6379[15]> SDIFF myset1 myset21) "c"

10、SDIFFSTORE destination key [key …]

將給定集合之間的差集存儲在指定的集合中。如果指定的集合 key 已存在,則會被覆蓋。 返回值: 結(jié)果集中的元素數(shù)量。 示例:

redis 127.0.0.1:6379> SADD myset1 "hello" "foo" "bar"(integer) 3redis 127.0.0.1:6379> SADD myset2 "hello" "world"(integer) 2redis 127.0.0.1:6379> SDIFFSTORE destset myset1 myset2(integer) 2redis 127.0.0.1:6379> SMEMBERS destset1) "foo"2) "bar"

11、SINTER key [key …]

返回給定所有給定集合的交集。 不存在的集合 key 被視為空集。 當給定集合當中有一個空集時,結(jié)果也為空集(根據(jù)集合運算定律)。 返回值: 交集成員的列表。 示例:

redis 127.0.0.1:6379> SADD myset1 "hello" "foo" "bar"(integer) 3redis 127.0.0.1:6379> SADD myset2 "hello" "world"(integer) 2redis 127.0.0.1:6379> SINTER myset myset21) "hello"

12、SINTERSTORE DESTINATION_KEY KEY KEY1..KEYN

將給定集合之間的交集存儲在指定的集合中。如果指定的集合已經(jīng)存在,則將其覆蓋。 返回值: 交集成員的列表。 示例:

redis 127.0.0.1:6379> SADD myset1 "hello" "foo" "bar"(integer) 3redis 127.0.0.1:6379> SADD myset2 "hello" "world"(integer) 2redis 127.0.0.1:6379> SINTERSTORE myset myset1 myset2(integer) 1redis 127.0.0.1:6379> SMEMBERS myset1) "hello"

13、SUNION KEY KEY1..KEYN

返回給定集合的并集。不存在的集合 key 被視為空集。 返回值: 并集成員的列表。 示例:

redis 127.0.0.1:6379> SADD myset1 "hello" "foo" "bar"(integer) 3redis 127.0.0.1:6379> SADD myset2 "hello" "world"(integer) 2redis 127.0.0.1:6379> SUNION myset1 myset21) "bar"2) "world"3) "hello"4) "foo"

14、SUNIONSTORE DESTINATION KEY KEY1..KEYN

將給定集合的并集存儲在指定的集合 destination 中。 返回值: 結(jié)果集中的元素數(shù)量。 示例:

redis 127.0.0.1:6379> SADD myset1 "hello" "foo" "bar"(integer) 3redis 127.0.0.1:6379> SADD myset2 "hello" "world"(integer) 2redis 127.0.0.1:6379> SUNIONSTORE myset myset1 myset2(integer) 1redis 127.0.0.1:6379> SMEMBERS myset1) "bar"2) "world"3) "hello"4) "foo"

(完畢!)

參考: http://blog.csdn.net/thinkercode/article/details/46575413


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美精品国产综合久久 | 欧美a久久 | 看黄在线| 一级一级一级一级毛片 | 欧美女同hd | 狠狠干五月天 | 成人黄视频在线观看 | 日韩中文字幕三区 | 黄色影院在线观看视频 | 国产成人精品免高潮在线观看 | 在线成人www免费观看视频 | 亚洲精品无码不卡在线播放he | 久久新地址 | 九九精品在线观看视频 | 在线a毛片免费视频观看 | 色婷婷av一区二区三区久久 | 国产成人高清成人av片在线看 | www.48xx.com | 日本成人一区二区 | 免费观看又色又爽又黄的崩锅 | av免费av | 在线日韩av电影 | 国产乱乱视频 | 午夜久久视频 | 欧美成年人视频在线观看 | 黄网站免费在线看 | 国产精品美女一区二区 | 羞羞视频.www在线观看 | 久久福利国产 | 免费在线观看午夜视频 | 中文字幕欧美一区二区三区 | 欧美成人免费看 | 国产免费观看视频 | 日本黄色a视频 | 萌白酱福利视频在线网站 | 久久国产精品一区 | 久久91久久久久麻豆精品 | 成人午夜久久 | 一级电影免费看 | 黄色免费高清网站 | 18被视频免费观看视频 |