Redis--Set類型

目錄

一、引言

二、介紹

三、命令

1.sadd,smembers,sismember

2.spop,srandmember

3.smove,srem

4.sinter,sinterstore

5.sunion,sunionstore,sdiff,sdiffstore

四、內部編碼

1.intset

2.hashtable

五、應用場景

1.使用Set保存用戶的標簽

2.Set方便計算交集

3.使用Set統計UV

六、總結


一、引言

? 本篇文章將簡單介紹redis中value的類型set類型以及其相關命令和使用場景。

二、介紹

? 其他的set:設置(和get相對應)。

? redis中的set就是集合,集合中的元素是無序的。和list類似,集合中的每個元素也都是String類型,但是使用json這樣的格式可以存儲結構化的數據。

三、命令

1.sadd,smembers,sismember

sadd:添加元素? ? ? ? ? ?時間復雜度:O(1)

smembers:查看當前集合中的所有元素

sismember:判定當前的元素是否在集合中

2.spop,srandmember

spop:從末尾刪除一個元素

srandmember:隨機獲取一個元素,但是不進行刪除

3.smove,srem

smove:移動一個集合中的元素到另外一個集合中

srem:刪除member

4.sinter,sinterstore

sinter:交集,最終結果同時出現在兩個集合中? 時間復雜度:O(N*M)

sinterstore:把交集存入到另外一個集合中

5.sunion,sunionstore,sdiff,sdiffstore

sunion:并集,把多個集合中的數據都集合在一起,如果元素有重復,只保留一份

sunionstore:將并集的結果存入到另外一個集合中

sdiff:差集:找出某些元素在A中存在,在B中不存在

sdiffstore:放入到新的集合中

四、內部編碼

1.intset

? 整數集合:當元素都是整數的時候,且元素個數不是特別多的時候,內部編碼就是整數集合,為了節省空間。

2.hashtable

哈希表:存在字符串或者元素個數比較多的時候就轉換為哈希表。

五、應用場景

1.使用Set保存用戶的標簽

2.Set方便計算交集

容易找到兩個用戶之間的公共標簽,增強了用戶關系。

3.使用Set統計UV

? 1.PV page view? 用戶每次訪問該瀏覽器,就會產生一次PV。

? 2.UV user view? 每個用戶訪問服務器就會產生一次UV,同一個用戶多次訪問不會使UV增加。

六、總結

??本篇文章簡單介紹了redis中value的類型set類型以及其相關命令和使用場景。下一篇我們將講解zset類型的相關命令以及內部編碼等,感謝觀看!

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

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

相關文章

for...of的用法與介紹

一、定義 for...of 是 ES6(ECMAScript 2015)引入的一種用于 遍歷可迭代對象(Iterable)的循環語句 二、語法 for (const item of iterable) {// 代碼塊 }參數: iterable:一個可迭代對象(如數組…

Faster R-CNN原理詳解以及Pytorch實現模型訓練與推理

《------往期經典推薦------》 一、AI應用軟件開發實戰專欄【鏈接】 項目名稱項目名稱1.【人臉識別與管理系統開發】2.【車牌識別與自動收費管理系統開發】3.【手勢識別系統開發】4.【人臉面部活體檢測系統開發】5.【圖片風格快速遷移軟件開發】6.【人臉表表情識別系統】7.【…

使用dockerfile創建鏡像

1.什么是Dockerfile Dockerfile 是一個用于指導 Docker 鏡像構建過程的腳本文件。它通過一系列指令來詳細描述了構建鏡像所需的步驟和配置細節。利用 Dockerfile,我們可以精確地設定容器的運行環境,安裝必要的軟件,復制項目文件,…

在CentOS系統上安裝Conda的詳細指南

前言 Conda 是一個開源的包管理系統和環境管理系統,廣泛應用于數據科學和機器學習領域。本文將詳細介紹如何在 CentOS 系統上安裝 Conda,幫助您快速搭建開發環境。 準備工作 在開始安裝之前,請確保您的 CentOS 系統已經滿足以下條件&#x…

大腦宏觀結構中的富集俱樂部:圖論分析視角

摘要 大腦是一個高度復雜的網絡。越來越多的證據支持大腦網絡中一組重要腦區的關鍵作用,這些腦區通常被稱為大腦的“核心”或“樞紐”區域。這些區域不僅能量消耗較高,而且在神經信息傳遞方面的效率也極高,因此被稱為“富集俱樂部”。富集俱樂…

Redis7——進階篇(五)

前言:此篇文章系本人學習過程中記錄下來的筆記,里面難免會有不少欠缺的地方,誠心期待大家多多給予指教。 基礎篇: Redis(一)Redis(二)Redis(三)Redis&#x…

Reflect.get和target[key]有何不同?

主要區別在this指向不同,下面輸出張三還是李四?: const person{name:張三,get FullName(){return this.name;},};let personProxynew Proxy(person,{get(target,key){return Reflect.get(target,key)//或者return target[key]}});const p1{__proto__:pe…

rust語言match模式匹配涉及轉移所有權Error Case

struct S{data:String, }//注意:因為String默認是移動語義,從而決定結構體S也是移動語義,可采用(1)或(2)兩種方法解決編譯錯誤;關鍵思路:放棄獲取結構體S的字段data的所有權,改為借用。fn process(s_ref:&a…

光譜相機檢測肉類新鮮度的原理

光譜相機通過分析肉類樣本在特定波長范圍內的光譜反射特性,結合化學與生物指標的變化規律,實現對其新鮮度的無損檢測。其核心原理可概括為以下方面: 一、光譜特征與物質成分的關聯性 ?物質特異性吸收/反射? 不同化學成分(如水分…

c#面試題整理9

1.遍歷xml文檔 2.解釋一下這段 String s new String("xyz"); 這段在C#平臺中,編譯失敗 3.說明一下抽象類 抽象類可以有構造函數 抽象類不能是靜態和密封的類,密封的類表示無法繼承,抽象類本身就不可實例化,加不好…

《React 屬性與狀態江湖:從驗證到表單受控的實戰探險》

屬性初識 屬性能解決兩個大問題&#xff1a;通信和復用 props.js: import React, { Component } from react import Navbar from ./Navbarexport default class App extends Component {state {a:100}render() {return (<div><div><h2>首頁</h2>&l…

Qwen/QwQ-32B 基礎模型上構建agent實現ppt自動生成

關心Qwen/QwQ-32B 性能測試結果可以參考下 https://zhuanlan.zhihu.com/p/28600079208https://zhuanlan.zhihu.com/p/28600079208 官方宣傳上是該模型性能比肩滿血版 DeepSeek-R1&#xff08;671B&#xff09;&#xff01; 我們實現一個 使用Qwen/QwQ-32B 自動生成 PowerPoi…

Javascript基礎語法詳解

面向對象的語言.腳本語言,不需要編譯,瀏覽器解釋即可運行 .用于控制網頁的行為.瀏覽器的source可以打斷點調試, console輸入代碼可以執行 use strict指令: 在“嚴格模式”下運行js代碼, 防止意外創建全局變量等, 提高代碼安全性和執行效率. 使用: 全局嚴格模式&#xff1a;…

[雜學筆記] TCP和UDP的區別,對http接口解釋 , Cookie和Session的區別 ,http和https的區別 , 智能指針 ,斷點續傳

文章目錄 1. TCP和UDP的區別2. 對http接口解釋3. Cookie和Session的區別4. http和https的區別5. 智能指針6.斷點續傳 1. TCP和UDP的區別 tcp的特點&#xff1a; 面向連接&#xff0c;可靠性高&#xff0c;全雙工&#xff0c;面向字節流udp特點&#xff1a;無連接&#xff0c;不…

JAVASE(五)

目錄 一、成員變量和局部變量 1.定義 2.區別 &#xff08;1&#xff09;相同 &#xff08;2&#xff09;不同 二、方法和構造方法 1.定義 2.構造方法細節 3.方法重載 一、成員變量和局部變量 1.定義 &#xff08;1&#xff09;成員變量是…

Matlab中快速查找元素索引號

1、背景介紹 在算法設計過程中&#xff0c;有時候需要從一維/二維數組中&#xff0c;快速查找是否某個元素&#xff0c;以及該元素所在的位置。如一維矩陣[1 2 3 4 5 6 6 7 8]所示&#xff0c;元素6所在的位置為6 7。 2、函數測試 matlab中函數find()可以快速查找到指定元素所…

【DuodooTEKr 】多度科技 以開源之力,驅動企業數字化轉型

多度科技 背景 / Background 在全球產業鏈重構與國內經濟雙循環的浪潮下&#xff0c;中國制造業與貿易企業正面臨數字化升級的迫切需求。開源技術作為數字化轉型的基石&#xff0c;不僅能打破技術壁壘、降低企業成本&#xff0c;更能通過協作創新加速產業智能化進程。 多度科技…

【HarmonyOS Next】鴻蒙應用故障處理思路詳解

【HarmonyOS Next】鴻蒙應用崩潰處理思路詳解 一、崩潰問題發現后定位 1. 崩潰現象&#xff1a; 常見的崩潰問題表現為&#xff0c;應用操作后白屏閃退&#xff0c;或者應用顯示無響應卡死。 2.定位問題&#xff1a; 發現崩潰后&#xff0c;我們首先需要了解復現步驟&#x…

linunx ubuntu24.04.02裝libfuse2導致無法開機進不了桌面解決辦法

osu.appimage運行需要libfuse2 然后我就下了fuse,打了兩把第二天無法開機 這樣是不能開機的 這樣是可以開機的 解決辦法一&#xff1a;玩星火商店的osu&#xff0c;好了問題解決 解決辦法二&#xff1a; 在這個頁面 ctrl alt f2進入tty6 sudo apt install ubuntu-desktop 進…

Maven 的常用指令

一、核心構建指令 mvn clean 作用&#xff1a;刪除 target 目錄&#xff08;清理編譯/打包生成的文件&#xff09;。 場景&#xff1a;確保從頭開始構建&#xff0c;避免殘留文件干擾。 mvn compile 作用&#xff1a;編譯項目源代碼。 場景&#xff1a;快速檢查代碼是否能編…