Redis(六):Set集合數據類型詳解

Redis 的 Set 是 String 類型的無序集合。集合成員是唯一的,這就意味著集合中不能出現重復的數據。

Redis 中集合是通過哈希表實現的,所以添加,刪除,查找的復雜度都是 O(1)。

集合中最大的成員數為 232 - 1 (4294967295, 每個集合可存儲40多億個成員)。

實例:

redis 127.0.0.1:6379> SADD runoobkey redis
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS runoobkey1) "mysql"
2) "mongodb"
3) "redis"

1、Set常用命令

1.1、SADD

127.0.0.1:6379> sadd myset "hello"	//set集合添加元素
(integer) 1
127.0.0.1:6379> sadd myset "lizhengi"
(integer) 1
127.0.0.1:6379> sadd myset "world"
(integer) 1
127.0.0.1:6379> SMEMBERS myset	//查看指定set所有值
1) "world"
2) "lizhengi"
3) "hello"
127.0.0.1:6379> SISMEMBER myset hello	//判斷某個值是否在set中
(integer) 1
127.0.0.1:6379> SISMEMBER myset hh
(integer) 0

1.2、scard

127.0.0.1:6379> scard myset	//獲取set長度
(integer) 3

1.3、srem

127.0.0.1:6379> SMEMBERS myset
1) "world"
2) "lizhengi"
3) "hello"
127.0.0.1:6379> srem myset hello world	//移除set集合中指定一些元素
(integer) 2
127.0.0.1:6379> scard myset
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "lizhengi"
127.0.0.1:6379> 

1.4、SRANDMEMBER

127.0.0.1:6379> SRANDMEMBER myset	//隨機抽出set集合的一個元素
"hello"
127.0.0.1:6379> SRANDMEMBER myset
"world"
127.0.0.1:6379> 

1.5、SPOP

127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
3) "lizhengi"
4) "hello"
127.0.0.1:6379> SPOP myset	//隨機刪除set集合某些元素
"lizhengi"
127.0.0.1:6379> SPOP myset
"hello"
127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
127.0.0.1:6379> 

1.6、SMOVE

127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
127.0.0.1:6379> sadd myset2 "adsa"
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "world"
127.0.0.1:6379> SMEMBERS myset2
1) "adsa"
127.0.0.1:6379> SMOVE myset myset2 "world"	//移動指定元素到另外一個集合
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "adsa"
127.0.0.1:6379> SMEMBERS myset2
1) "adsa"
2) "world"
127.0.0.1:6379> 

1.7、SDIFF 、SINTER、SUNION

127.0.0.1:6379> SMEMBERS myset
1) "adsa"
2) "aadsa"
127.0.0.1:6379> SMEMBERS myset2
1) "adsa"
2) "world"
127.0.0.1:6379> SDIFF myset myset2	//差集
1) "aadsa"
127.0.0.1:6379> SINTER myset myset2	//交集
1) "adsa"
127.0.0.1:6379> SUNION myset myset2	//并集
1) "adsa"
2) "world"
3) "aadsa"

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/535890.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/535890.shtml
英文地址,請注明出處:http://en.pswp.cn/news/535890.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

百度主任架構師譚待:如何讓不帶團隊的程序員負責重大項目?

演講 | 譚待 整理 | 趙新龍、尾尾 譚待,百度主任架構師、百度搜索公司技術委員會聯席主席。主要研究領域在分布式系統和搜索引擎,是百度BVC代理計算和Matrix私有云的主要設計者,兩獲百度最高獎。主持設計了百度新一代搜索架構,在…

Redis(七):Hash哈希數據類型詳解

Redis hash 是一個 string 類型的 field 和 value 的映射表,hash 特別適合用于存儲對象。 Redis 中每個 hash 可以存儲 232 - 1 鍵值對(40多億)。 實例: 127.0.0.1:6379> HMSET runoobkey name "redis tutorial"…

Chrome Dev Summit 2017參會筆記

作者 | 高磊 編輯 | 尾尾 為期兩天的 Chrome Dev Summit 2017 于 10月23日~24日在美國舊金山舉辦。由于我們近期和Google的合作較多,對Google的動作也比較關注,所以受邀參加了這次的Chrome Dev Summit (CDS)。本文是我在現場做的…

Redis(八):Zset有序集合數據類型詳解

Redis 有序集合和集合一樣也是string類型元素的集合,且不允許重復的成員。 不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來為集合中的成員進行從小到大的排序。 有序集合的成員是唯一的,但分數(score)卻可以重復。 集合是通過哈希表實現的,…

Redis(九):Redis特殊類型之geospatial

朋友的定位,附近的人,位置共享,打車距離 redis在3.2就已經推出了geospatial!兩地之間的距離,方圓幾里的人!都可以用它實現 這個需要把你所在地的經緯度輸進去,我們可以在http://www.jsons.cn/ln…

九個案例簡述Web設計原則:簡潔清晰

作者 | 百度搜索用戶體驗中心 《Web設計指南》分為設計原則、基礎規范兩方面主要內容,同時會提供相應的實際案例及資源下載。歡迎關注OpenWeb開發者,訂閱《Web設計指南》。 前言 《Web設計指南》是專門為廣大Web內容生態提供一套簡單實用的設計指南&a…

Redis(十):Redis特殊類型之Hyperloglog基數統計

redis 2.8.9版本就更新了Hyperloglog數據結構! Hyperloglog:基數統計算法!0.81%的錯誤率,不過統計大量數據可以忽略! 在 Redis 里面,每個 HyperLogLog 鍵只需要花費 12 KB 內存,就可以計算接近 …

W3C近期要聞:與Mozilla MDN合作聯合開發Web平臺文檔

作者 | W3C中國 「OpenWeb開發者」依托于BOW(Brillant Open Web)團隊,是一個專門的 Web 技術建設小組,致力于推動 Open Web 技術的發展,將不定期為讀者同步W3C要聞。 注:由于微信不支持外鏈,了解…

Redis(十一):Redis特殊類型之Bitmap位圖

1、位存儲 只有0和1兩種狀態! Bitmap 位圖:數據結構,都是操作二進制位來進行記錄 登錄/未登錄 活躍/不活躍 打卡 兩個狀態的都可以使用Bitmap! 2、常用命令 2.1、用Bitmap來記錄 周一到周日的登陸情況 127.0.0.1:6379> …

移動Web加速技術月報第2期

作者 | Brilliant Open Web 團隊breezet、shdong 編輯 | 尾尾 為推進Web技術的發展,Brilliant Open Web團隊特推出每月一期的《移動Web加速技術月報》,該月報將整理較流行的移動Web加速技術,并跟進各項技術的進展和發展方向,以期…

Redis(十二):Redis事務的基本操作

1、Redis事務概念 Redis 事務的本質是一組命令的集合。事務支持一次執行多個命令,一個事務中所有命令都會被序列化。在事務執行過程,會按照順序串行化執行隊列中的命令,其他客戶端提交的命令請求不會插入到事務執行命令序列中。 總結說&…

大型網站HTTPS 實踐(一)| HTTPS 協議和原理

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索,默認會將 HTTP 請求跳轉成 HTTPS。本文就著重介紹了 HTTPS 協議涉及到的重要知識點和平時不太容易理解的盲區,希望能對大家理解 HTTPS 協議有幫助。百度 HTTPS 性能優化涉及到大量內容…

MongoDB(一):簡介

1、MongoDB概述 MongoDB 是由C語言編寫的,是一個基于分布式文件存儲的開源數據庫系統。在高負載的情況下,添加更多的節點,可以保證服務器性能。MongoDB 旨在為WEB應用提供可擴展的高性能數據存儲解決方案。 MongoDB 是一款流行的開源文檔型…

大型網站HTTPS實踐:HTTPS對性能的影響

作者 | 百度HTTPS技術支持團隊 百度已經上線了全站 HTTPS 的安全搜索,默認會將 HTTP 請求跳轉成 HTTPS。百度 HTTPS性能優化涉及到大量內容,從前端頁面、后端架構、協議特性、加密算法、流量調度、架構和運維、安全等方面都做了大量工作。本系列的文章將…

Redis(十三):Redis實現樂觀鎖

1、悲觀鎖與樂觀鎖 樂觀鎖和悲觀鎖是一種程序設計思想,而不是具體的代碼。樂觀鎖和悲觀鎖應用的場景有很多,在數據庫和多線程等等都會用到。 悲觀鎖:總是假設最壞的情況,每次去拿數據的時候都認為別人會修改,所以每次…

PWA將帶來新一輪大前端技術洗牌?

作者 | 彭星 編輯 | 尾尾 一、回顧歷史:移動時代之初,Web遭遇兩大枷鎖 Web 在移動時代遭遇兩大枷鎖1.Web 在移動時代遭遇兩大枷鎖 當 Web 自信滿滿,步入移動時代之時,它還沒有做好充足的準備。 回顧 2014 到 2015 年那段時間…

Redis(十四):Jedis

Jedis是Redis官方推薦的Java連接開發工具。要在Java開發中使用好Redis中間件&#xff0c;必須對Jedis熟悉才能寫成漂亮的代碼&#xff01; 1、新建Maven工程&#xff0c;導入對應依賴 <dependencies><dependency><groupId>redis.clients</groupId>&l…

高級精致智能快捷的Web設計原則案例

作者 | 百度搜索用戶體驗中心 《Web設計指南》分為設計原則、基礎規范兩方面主要內容&#xff0c;同時會提供相應的實際案例及資源下載。關注OpenWeb開發者&#xff0c;回復“設計指南”&#xff0c;即可獲取已發布資源。 設計原則之高級精致 簡潔并不等于粗糙沒有細節&#x…

Linux系列(一):簡介與目錄結構

1、Linux簡介 1.1、起源 Linux出現于1991年&#xff0c;是由芬蘭赫爾辛基大學學生Linus Torvalds和后來加入的眾多愛好者共同開發完成 1.2、Linux特點 多用戶&#xff0c;多任務&#xff0c;豐富的網絡功能&#xff0c;可靠的系統安全&#xff0c;良好的可移植性&#xff0c;…

日常問題——解決mac下 ssh: connect to host localhost port 22: Connection refused

問題描述&#xff1a; 今天使用ssh 登陸本地時即使用ssh localhost出現了 ssh: connect to host localhost port 22: Connection refused 錯誤&#xff01; 然后在網上看了很多的解決方案&#xff0c;也都是千篇一律&#xff0c;大多數是針對ssh安沒安裝的&#xff1f;那肯定是…