日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Redis常用命令之操作Set(集合)

發(fā)布時(shí)間:2025/3/19 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis常用命令之操作Set(集合) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

場(chǎng)景

Centos中Redis的下載編譯與安裝(超詳細(xì)):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103967334

Redis的啟動(dòng)和關(guān)閉(前臺(tái)啟動(dòng)和后臺(tái)啟動(dòng)):

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103972348

RedisDesktopManager客戶端可視化工具下載安裝與使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103983147

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關(guān)注公眾號(hào)
霸道的程序猿
獲取編程相關(guān)電子書(shū)、教程推送與免費(fèi)下載。

實(shí)現(xiàn)

set集合是string類(lèi)型的無(wú)序集合,set是通過(guò)hashtable實(shí)現(xiàn)的,對(duì)集合我們可以取交集、并集、差集

SADD命令

語(yǔ)法

SADD key member [member ...]

將一個(gè)或多個(gè) member 元素加入到集合 key 當(dāng)中,已經(jīng)存在于集合的 member 元素將被忽略。

假如 key 不存在,則創(chuàng)建一個(gè)只包含 member 元素作成員的集合。

當(dāng) key 不是集合類(lèi)型時(shí),返回一個(gè)錯(cuò)誤。

?

舉例

?

SMEMBERS命令

語(yǔ)法

SMEMBERS key

返回集合 key 中的所有成員。

不存在的 key 被視為空集合。

舉例同上圖

SREM命令

語(yǔ)法

SREM key member [member ...]

移除集合 key 中的一個(gè)或多個(gè) member 元素,不存在的 member 元素會(huì)被忽略。

當(dāng) key 不是集合類(lèi)型,返回一個(gè)錯(cuò)誤。

舉例

?

SPOP命令

語(yǔ)法

SPOP key

移除并返回集合中的一個(gè)隨機(jī)元素。

如果只想獲取一個(gè)隨機(jī)元素,但不想該元素從集合中被移除的話,可以使用 SRANDMEMBER 命令。

舉例

?

SDIFF命令

語(yǔ)法

SDIFF key [key ...]

差集運(yùn)算,返回在第一個(gè)set 中存在,第二個(gè)set 中不存在的內(nèi)容

舉例

?

SDIFFSTORE命令

語(yǔ)法

SDIFFSTORE destination key [key ...]

這個(gè)命令的作用和 SDIFF 類(lèi)似,但它將結(jié)果保存到 destination 集合,而不是簡(jiǎn)單地返回結(jié)果集。

如果 destination 集合已經(jīng)存在,則將其覆蓋。

destination 可以是 key 本身。

舉例

?

SINTER命令

語(yǔ)法

SINTER key [key ...]

返回一個(gè)集合的全部成員,該集合是所有給定集合的交集。

不存在的 key 被視為空集。

當(dāng)給定集合當(dāng)中有一個(gè)空集時(shí),結(jié)果也為空集(根據(jù)集合運(yùn)算定律)。

?

舉例

?

SUNION命令

語(yǔ)法

SUNION key [key ...]

返回一個(gè)集合的全部成員,該集合是所有給定集合的并集。

不存在的 key 被視為空集

舉例

?

SUNIONSTORE命令

語(yǔ)法

SUNIONSTORE destination key [key ...]

這個(gè)命令類(lèi)似于 SUNION 命令,但它將結(jié)果保存到 destination 集合,而不是簡(jiǎn)單地返回結(jié)果集。

如果 destination 已經(jīng)存在,則將其覆蓋。

destination 可以是 key 本身

舉例

?

SMOVE命令

語(yǔ)法

SMOVE source destination member

將 member 元素從 source 集合移動(dòng)到 destination 集合。

SMOVE 是原子性操作。

如果 source 集合不存在或不包含指定的 member 元素,則 SMOVE 命令不執(zhí)行任何操作,僅返回 0 。否則, member 元素從 source 集合中被移除,并添加到 destination 集合中去。

當(dāng) destination 集合已經(jīng)包含 member 元素時(shí), SMOVE 命令只是簡(jiǎn)單地將 source 集合中的 member 元素刪除。

當(dāng) source 或 destination 不是集合類(lèi)型時(shí),返回一個(gè)錯(cuò)誤。

?

舉例

?

SCARD命令

語(yǔ)法

SCARD key

返回集合 key 的基數(shù)(集合中元素的數(shù)量)。

舉例

?

SISMEMBER命令

語(yǔ)法

SISMEMBER key member

判斷 member 元素是否集合 key 的成員。

舉例

?

SRANDMEMBER命令

語(yǔ)法

SRANDMEMBER key [count]

如果命令執(zhí)行時(shí),只提供了 key 參數(shù),那么返回集合中的一個(gè)隨機(jī)元素。

從 Redis 2.6 版本開(kāi)始, SRANDMEMBER 命令接受可選的 count 參數(shù):

如果 count 為正數(shù),且小于集合基數(shù),那么命令返回一個(gè)包含 count 個(gè)元素的數(shù)組,數(shù)組中的元素各不相同。如果 count 大于等于集合基數(shù),那么返回整個(gè)集合。
如果 count 為負(fù)數(shù),那么命令返回一個(gè)數(shù)組,數(shù)組中的元素可能會(huì)重復(fù)出現(xiàn)多次,而數(shù)組的長(zhǎng)度為 count 的絕對(duì)值。

舉例

?

其他命令參考:

http://doc.redisfans.com/set/index.html

總結(jié)

以上是生活随笔為你收集整理的Redis常用命令之操作Set(集合)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。