Redis--通用命令學習

目錄

一、引言

二、基礎命令

1.set

2.get?

3.keys

3.1 keys ?

3.2 keys *

3.3 keys [abe]?

3.4 keys [^]

3.5 keys [a-b]

4.exists

5.delete

6.expire

?7.ttl

8.type?

三、Redis中的過期策略(面試題)

1.惰性刪除

2.定期刪除

3.定時器

四、總結


一、引言

? 本篇文章就Redis在Ubunto上面的一些簡單命令進行介紹。

二、基礎命令

1.set

? set命令就是設置鍵值對的,例如 set key value

2.get?

獲取鍵的值

3.keys

? 全局命令,簡單理解就是在整個redis上面進行查找

3.1 keys ?

? ?能夠代替其中一個字符

3.2 keys *

? * 能夠代替零個或者多個字符

3.3 keys [abe]?

?[]查找里面的內容代替的字符

?

3.4 keys [^]

? 查找除了這個的字符

3.5 keys [a-b]

? 查找a-b的內容

?注意:盡量少使用keys * 這樣的查找全部的操作,可能會把服務器卡崩,所以盡量不用這類操作

4.exists

? 判定key是否存在,返回值是key存在的個數,時間復雜度是O(1)

5.delete

和keys,exists一樣,返回值是刪除的個數,時間復雜度是O(1)

6.expire

? 給指定的key設置過期時間,超過這個時間這個key就會被自動刪除。返回值是一個數字,1表示成功,0表示失敗。此處的設定過期時間,必須是針對已經存在的key設置,時間復雜度也是O(1).

想使用毫秒的話,使用pexpire key。

?7.ttl

? 查詢過期時間,time to live 存活時間,同時還存在pttl 這樣的操作命令,時間復雜度是O(1)

返回值是剩余過期時間,-1表示沒有關聯過期時間,-2表示key不存在

8.type?

返回key對應的數據類型,但redis所有的key都是String類型,此處指的是對應的value的類型。

三、Redis中的過期策略(面試題)

? redis整體的策略是定期刪除惰性刪除

1.惰性刪除

? 假設key已經到過期時間了,暫時還沒進行刪除。key還存在。后面訪問到了這個key,發現這個key已經過期,這次訪問就會讓redis服務器觸發刪除key的操作,同時返回一個nil

2.定期刪除

? 每次抽取一部分key進行過期時間(保證抽取檢查的過程足夠快)

? redis還提供了一系列內存淘汰=策略。

3.定時器

在某個時間到達之后,執行指定的任務。

1.基于優先級隊列(堆),過期時間早的先出隊列。

隊首元素就是最早要過期的key。

此時定時器只要一個線程,讓這個線程去檢查隊首元素,看其是否過期即可,如果隊首元素還沒過期,后續元素一定沒過期。

2.時間輪

設置一個類似輪盤來進行定時的操作

但以上兩種方案redis都沒有實現。

四、總結

? 本篇文章就介紹了Redis的通用命令,但Redis還有更多的命令,這就需要再使用時大家能夠去Redis官網進行查詢。感謝大家觀看!

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

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

相關文章

Linux程序設計(第四版)| 學習筆記

上次學習Linux相關內容還是上學的時候為了應付考試,最近有項目涉及Linux,重新學習以下。 很多年前關于Linux的總結 一、入門 1.概念 (1) UNIX 1)定義:指的是一種遵循特定規范的計算機操作系統。 2)特點:簡單性、集中性、可重用…

PostgreSQL 的歷史

title: PostgreSQL 的歷史 date: 2024/12/23 updated: 2024/12/23 author: cmdragon excerpt: PostgreSQL 是一款功能強大且廣泛使用的開源關系型數據庫管理系統。其歷史可以追溯到1986年,當時由加州大學伯克利分校的一個研究團隊開發。文章將深入探討 PostgreSQL 的起源、…

Ubuntu22.04 LTS 安裝nvidia顯卡驅動

準備跑老師給定的Github上的多模態源碼,但是用了這么久ubuntu還沒有嘗試過安裝nvidia驅動,好在也是一次成功,于是記錄下來。 借鑒的是Ubuntu22.04安裝顯卡驅動(高速、避錯版)-CSDN博客這篇文章,按照流程來基本沒有問題,不過個人覺得有些步驟比較冗余,所以記錄下來 主要…

WPS工具欄灰色怎么辦

WPS離線不登錄,開啟工具欄等相關功能 當你在使用WPS的過程中,若因網絡問題或其他特殊原因,導致無法登錄使用WPS時,可根據以下步驟開啟離線兼容模式,開啟此模式后,可在未登錄的狀態下,激活并使用…

國標GB28181-2022平臺EasyGBS:安防監控中P2P的穿透方法

在安防監控領域,P2P技術因其去中心化的特性而受到關注,尤其是在遠程視頻監控和數據傳輸方面。P2P技術允許設備之間直接通信,無需通過中央服務器,這在提高效率和降低成本方面具有明顯優勢。然而,P2P技術在實際應用中也面…

Mac Android studio 升級LadyBug 版本,所產生的bug

當Build 出現,這樣的文字以后: Your build is currently configured to use incompatible Java 21.0.3 and Gradle 7.3.3. Cannot sync the project. We recommend upgrading to Gradle version 8.9. The minimum compatible Gradle version is 8.5. …

com.google.common.collect.ImmutableList$SerializedForm

今天AndroidStudio安裝了個2021版本的,gradle用了7.3.3,創建項目后控制臺總是有這樣一個錯誤: Unable to load class com.google.common.collect.ImmutableList$SerializedForm. This is an unexpected error. Please file a bug containing…

Docker部署Sentinel

一、簡介 是什么:面向分布式、多語言異構化服務架構的流量治理組件 能干嘛:從流量路由、流量控制、流量整形、熔斷降級、系統自適應過載保護、熱點流量防護等多個維度來幫助開發者保障微服務的穩定性 官網地址:https://sentinelguard.io/zh-c…

HTMLCSSJavaScriptDOM 之間的關系?

一、HTML 中文名:超文本標記語言 英文名:HyperText Markup Language HTML是一種用來結構化Web網頁及其內容的標記語言。 HTML 由一系列的元素組成,這些元素可以用來包圍不同部分的內容,使其以某種方式呈現或者工作。 圖Ⅰ 每…

Hadoop集群(HDFS集群、YARN集群、MapReduce?計算框架)

一、 簡介 Hadoop主要在分布式環境下集群機器,獲取海量數據的處理能力,實現分布式集群下的大數據存儲和計算。 其中三大核心組件: HDFS存儲分布式文件存儲、YARN分布式資源管理、MapReduce分布式計算。 二、工作原理 2.1 HDFS集群 Web訪問地址&…

位運算符、標記位傳參

位運算符: 位運算符作用于操作數的位(bit)。 按位與(&)對應位都為1時結果為1 int a 5; // 0101 int b 3; // 0011 int result a & b; // 0001 按位或(|)對應位至少有一個為1時結…

施耐德變頻器ATV320系列技術優勢:創新與安全并重

在工業自動化領域,追求高效、安全與智能已成為不可阻擋的趨勢。施耐德變頻器ATV320系列憑借其強大的設計標準和全球認證,成為能夠幫助企業降低安裝成本,提高設備性能的創新解決方案。 【全球認證,品質保障】ATV320 系列秉持施耐德…

項目練習:element-ui的valid表單驗證功能用法

文章目錄 一、情景說明二、代碼實現 一、情景說明 一般表單提交的時候,都要對表單數據進行前段驗證。 比如登陸表單提交。 二、代碼實現 package.json "element-ui": "2.15.14",main.js 引用ElementUI import ElementUI from element-ui; i…

【es6復習筆記】Symbol 類型及其應用(9)

一、Symbol 簡介 Symbol 是 JavaScript 中的一種基本數據類型,它表示唯一的標識符。Symbol 的主要目的是防止屬性名沖突,尤其是在多個代碼庫或模塊中共享對象時。Symbol 值可以用作對象的屬性名,這樣可以確保屬性名是唯一的,不會…

Linux挖礦程序排查

一、背景 我們收到一個阿里云安全告警,內容是服務器可能存在挖礦程序。 二、殺死挖礦程序 2.1 找到可疑服務器進程 #1.輸入top命令,輸入shift P會按照cpu的使用率大小從大到小進行排序,cpu使用率高的就是可疑進程。 top #2.查看運行該進程…

zabbix監控山石系列Hillstone配置模版(適用于zabbix6及以上)

監控項: 觸發器: 監控數據:

PE文件結構

PE文件是Windows系統下可執行文件的總稱,英文全稱 Portable Executable 可移植的可執行文件,常見的有exe、dll、sys、com、ocx 對于學習反(木馬、免殺、病毒、外掛、內核),了解PE文件結構是非常有必要且非常非常重要的…

C語言-08復合類型-結構體

一、結構體 1.結構體struct struct關鍵字,允許自定義復合數據類型,將不同類型的值組合在一起,這種類型稱為結構體類型。 2.使用步驟 第一步:創建或聲明結構體 第二步:定義結構體變量 第三步:調用并操作結…

Web前端基礎知識(一)

前端是構建網頁的一部分,負責用戶在瀏覽器中看到和與之交互的內容。 網頁是在瀏覽器中呈現內容的文檔或頁面。 通常,網頁使用HTML、CSS、JavaScript(JS)組成。 HTML:定義了頁面的結構和內容。包括文本、圖像、鏈接等。 CSS:定義頁面的樣式…

網絡安全詞云圖與技術淺談

網絡安全詞云圖與技術淺談 一、網絡安全詞云圖生成 為了直觀地展示網絡安全領域的關鍵術語,我們可以通過詞云圖(Word Cloud)的形式來呈現。詞云圖是一種數據可視化工具,它通過字體大小和顏色的差異來突出顯示文本中出現頻率較高…