Redis——02 學習

来源:https://www.cnblogs.com/cndada/archive/2022/12/19/16991597.html
-Advertisement-
Play Games

Redis——02 前面瞭解了 Redis 以及在 Linux 的安裝,下麵瞭解一些 Redis 常用的命令。 Redis 常用命令: Redis 是 Key-Value 形式,Key 為字元串類型,而 Value 的取值類型如下: String 字元串 Hash 哈希表 List 列表 Set 集 ...


Redis——02

前面瞭解了 Redis 以及在 Linux 的安裝,下麵瞭解一些 Redis 常用的命令。

Redis 常用命令:

Redis 是 Key-Value 形式,Key 為字元串類型,而 Value 的取值類型如下:

  • String 字元串
  • Hash 哈希表
  • List 列表
  • Set 集合
  • Sorted Set 有序 Set(ZSet)

Redis 命令相關手冊

預先設置一些值:

set smg1 "smg1"
set smg2 "smg2"

1. Key 操作

1.1 exists

作用:判斷 Key 是否存在

語法:exists key_name [key]

return:存在則返回有查詢所到的個數,不存在則返回 0。

image-20221214173309202

1.2expire

作用:用於設置 key 的過期時間。key 過期後將不再可用。

語法:expire key_name time_seconds 單位是秒

return:成功返回1,失敗返回0

image-20221214173526501

ttl key_name 查看指定 key 的剩餘生存時間,單位是秒。

redis 2.8+:key 不存在返回 -2,key 存在但是沒有設置剩餘時間時,返回 -1。

1.3 del

作用:刪除指定的 key,可以是多個 key。

語法:del key_name [key]

return:返回刪除成功的個數

2. 字元串值

2.1 set

作用:設置指定的 key 的值

語法:set key value

value 中如果沒有空格可以不用雙引號,如果有空格則需要雙引號。

return:成功 OK。

如果對一個 key 進行多次的 set,則會進行覆蓋。

2.2 get

作用:根據指定的 key 查詢值。

語法:get key

return:查詢到的值,如果沒有則返回 (nil),表示沒有查到。

2.3 setnx

作用:新增一個 key,只有在 key 不存在的時候做新增,如果 key 存在,則新增失敗,不會對其進行覆蓋。

語法:setnx key value

return:成功返回 1,失敗返回 0。

2.4 setex

作用:新增一個 key,並且設置有效時長單位是秒,同時是可以覆蓋已存在的 key 所對應的 value,同時也會覆蓋有效時長。

語法:setex key seconds value

return:成功 OK。

2.5 mset

作用:批量設置 key,如果已存在則覆蓋。沒有則新增

語法:mset key1 value1 ...keyN valueN

return:OK

2.6 mget

作用:批量查看 key

語法:mget key1 ...keyN

return:按照請求的 key 順序返回

3. Hash

3.1 hset

作用:用於為哈希表中的欄位賦值。

語法:hset key field value

return:成功 OK,如果哈希表中域欄位(field)已經存在了 value 則會進行覆蓋,返回0。

3.2 hget

作用:用於返回哈希表中指定欄位的值。

語法:hget key field

return:返回給定欄位的值。如果給定的欄位或 key 不存在時,返回 nil 。

3.3 hmset

作用:用於同時將多個 field-value (欄位-值)對設置到哈希表中。此命令會覆蓋哈希表中已存在的欄位。如果哈希表不存在,會創建一個空哈希表,並執行 HMSET 操作。

語法:hmset key field1 value1 ...fieldN valueN

return:如果命令執行成功,返回 OK 。

3.4 hmget

作用:用於返回哈希表中,一個或多個給定欄位的值。

如果指定的欄位不存在於哈希表,那麼返回一個 nil 值。

語法:hmget key field1 ... fieldN

return:一個包含多個給定欄位關聯值的表,表值的排列順序和指定欄位的請求順序一樣。

3.5 hkeys

作用:用於返回哈希表中,表的所有欄位名

語法:hkeys key

return:返回該哈希表中所有的欄位名,當 key 不存在時,返回一個空列表。

3.6 hvals

作用:命令返回哈希表所有欄位的值

語法:hvals key

return:一個包含哈希表中所有值的表。 當 key 不存在時,返回一個空表。

3.7 hgetall

作用:用於返回哈希表中,所有的欄位和值。

語法:hgetall key

return:以列表形式返回哈希表的欄位及欄位值。 若 key 不存在,返回空列表。

3.8 hdel

作用:命令用於刪除哈希表 key 中的一個或多個指定欄位,不存在的欄位將被忽略

語法:hdel key field1 ...field2

return:被成功刪除欄位的數量,不包括被忽略的欄位。

如果所有的 field 都被刪除,則這個哈希表則也會被刪除。

也可以直接使用 del 命令刪除整個哈希表。

3.9 flushall(全局)

作用:命令用於清空整個 Redis 伺服器的數據(刪除所有資料庫的所有 key )。

語法:flushall

return:總是返回 OK。

4. 列表/鏈表 List

可重覆,按序排列

4.1 rpush

作用:命令用於將一個或多個值插入到列表的尾部(最右邊)。

如果列表不存在,一個空列表會被創建並執行 rpush 操作。 當列表存在但不是列表類型時,返回一個錯誤。

語法:rpush key value1 ...valueN

return:執行 RPUSH 操作後,列表的長度。

4.2 lpush

作用:命令將一個或多個值插入到列表頭部。 如果 key 不存在,一個空列表會被創建並執行 lpush 操作。 當 key 存在但不是列表類型時,返回一個錯誤。

語法:lpush key value1 ...valueN

return:執行 LPUSH 命令後,列表的長度。

4.3 llen

作用:用於返回列表的長度。 如果列表 key 不存在,則 key 被解釋為一個空列表,返回 0 。 如果 key 不是列表類型,返回一個錯誤。

語法:llen key

return:列表的長度。

4.4 lrange

作用:返回列表中指定區間內的元素,區間以偏移量 START 和 END 指定。 其中 0 表示列表的第一個元素, 1 表示列表的第二個元素,以此類推。 你也可以使用負數下標,以 -1 表示列表的最後一個元素, -2 表示列表的倒數第二個元素,以此類推。

語法:lrange key start end

return:一個列表,包含指定區間內的元素。

4.5 lrem

作用: 根據參數 COUNT 的值,移除列表中與參數 VALUE 相等的元素

count > 0:表示從表頭到表尾搜索並移除 count 個與 value 相等的元素。

count < 0:表示從表尾到表頭搜索並移除 count 個與 value 相等的元素。

count = 0:移除表中所有與 VALUE 相等的值。

語法:lrem key count value

return:被移除元素的數量。 列表不存在時返回 0。

4.6 lindex

作用:命令用於通過索引獲取列表中的元素。你也可以使用負數下標,以 -1 表示列表的最後一個元素, -2 表示列表的倒數第二個元素,以此類推

語法:lindex key index_num

return:列表中下標為指定索引值的元素。 如果指定索引值不在列表的區間範圍內,返回 nil 。

5. 集合 Set

跟 Java中的 set 一樣,元素不可以重覆

5.1 sadd

5.2 smembers

5.3 scard

5.4 srem

6. 有序集合 Sorted Set

有序集合中每個 value 都有一個分數(score),根據分數進行排序。

每個值都要設置分數

6.1 zadd

6.2 zrange

6.3 zrem


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 備份文件同步法 最傳統的方法就是把配置文件備份,然後在其它電腦上通過導入的方式來恢復,這種方法在很多軟體中都實測可行。 具體對應到pycharm中,可以在pycharm菜單欄file - export 和import在多臺電腦之間同步設置。 ps.pycharm的快捷鍵導入後,需要手動修改鍵盤映射修 ...
  • 本文主要介紹application.properties文件的配置方式、application.yml文件的配置方式,以及多環境配置時,可以通過總配置文件和Maven配置兩種方式進行切換。 ...
  • Kotlin + SpringBoot + JPA 服務端開發 本篇主要介紹一下 kotlin + springboot的服務端開發環境搭建 1.概述 Kotlin 是一個基於JVM的編程語言, 是IDEA開發工具 jetbrains 公司開發的語言,也被google選為android開發的首選語言 ...
  • 對於我們.Net程式員,System.Web.Abstractions我們都非常熟悉,主要作用於Web可以實現單元測試,他是在.Net framework 3.5 sp1開始引入的,很好的解決項目表示層不好做單元測試的問題,這個庫所有類都是Wrapper/Decorator模式的。今天給推薦一個IO ...
  • 前言 在前三章中我們的案例大量使用到了Thread這個類,通過其原始API,對其進行創建、啟動、中斷、中斷、終止、取消以及異常處理,這樣的寫法不僅不夠優雅(對接下來這篇,我稱其為.NET現代化並行編程體系中出現的API而言),並且大部分的介面都是極度複雜和危險的。很幸運,如今.NET已經提供,並且普 ...
  • Azure App Service 提供了一個應用內的MySQL,可以供測試、開發使用。 前提條件是需要使用Windows的操作系統。 創建完App Server 之後,只需要在設置下開啟 MySQL In App 即可。 在應用中可以從環境變數中獲取連接字元串。 var mysqlconnstr ...
  • 作者:鄭龍飛 範式定義 百度百科:設計關係資料庫時,遵從不同的規範要求,設計出合理的關係型資料庫,這些不同的規範要求被稱為不同的範式,各種範式呈遞次規範,越高的範式資料庫冗餘越小。 人類語言: 範式可以理解為設計一張數據表的表結構,符合的標準級別、規範和要求。 而通常我們用的最多的就是第一範式(1N ...
  • 摘要:GaussDB(DWS)提供了資源管理功能,用戶可以根據自身業務情況對資源進行劃分,將資源按需劃分成不同的資源池,不同資源池之間資源互相隔離。 本文分享自華為雲社區《GaussDB(DWS)資源管理排隊原理與問題定位》,作者: 門前一棵葡萄樹 。 一、記憶體管控原理 GaussDB(DWS)提供 ...
一周排行
    -Advertisement-
    Play Games
  • Dapr Outbox 是1.12中的功能。 本文只介紹Dapr Outbox 執行流程,Dapr Outbox基本用法請閱讀官方文檔 。本文中appID=order-processor,topic=orders 本文前提知識:熟悉Dapr狀態管理、Dapr發佈訂閱和Outbox 模式。 Outbo ...
  • 引言 在前幾章我們深度講解了單元測試和集成測試的基礎知識,這一章我們來講解一下代碼覆蓋率,代碼覆蓋率是單元測試運行的度量值,覆蓋率通常以百分比表示,用於衡量代碼被測試覆蓋的程度,幫助開發人員評估測試用例的質量和代碼的健壯性。常見的覆蓋率包括語句覆蓋率(Line Coverage)、分支覆蓋率(Bra ...
  • 前言 本文介紹瞭如何使用S7.NET庫實現對西門子PLC DB塊數據的讀寫,記錄了使用電腦模擬,模擬PLC,自至完成測試的詳細流程,並重點介紹了在這個過程中的易錯點,供參考。 用到的軟體: 1.Windows環境下鏈路層網路訪問的行業標準工具(WinPcap_4_1_3.exe)下載鏈接:http ...
  • 從依賴倒置原則(Dependency Inversion Principle, DIP)到控制反轉(Inversion of Control, IoC)再到依賴註入(Dependency Injection, DI)的演進過程,我們可以理解為一種逐步抽象和解耦的設計思想。這種思想在C#等面向對象的編 ...
  • 關於Python中的私有屬性和私有方法 Python對於類的成員沒有嚴格的訪問控制限制,這與其他面相對對象語言有區別。關於私有屬性和私有方法,有如下要點: 1、通常我們約定,兩個下劃線開頭的屬性是私有的(private)。其他為公共的(public); 2、類內部可以訪問私有屬性(方法); 3、類外 ...
  • C++ 訪問說明符 訪問說明符是 C++ 中控制類成員(屬性和方法)可訪問性的關鍵字。它們用於封裝類數據並保護其免受意外修改或濫用。 三種訪問說明符: public:允許從類外部的任何地方訪問成員。 private:僅允許在類內部訪問成員。 protected:允許在類內部及其派生類中訪問成員。 示 ...
  • 寫這個隨筆說一下C++的static_cast和dynamic_cast用在子類與父類的指針轉換時的一些事宜。首先,【static_cast,dynamic_cast】【父類指針,子類指針】,兩兩一組,共有4種組合:用 static_cast 父類轉子類、用 static_cast 子類轉父類、使用 ...
  • /******************************************************************************************************** * * * 設計雙向鏈表的介面 * * * * Copyright (c) 2023-2 ...
  • 相信接觸過spring做開發的小伙伴們一定使用過@ComponentScan註解 @ComponentScan("com.wangm.lifecycle") public class AppConfig { } @ComponentScan指定basePackage,將包下的類按照一定規則註冊成Be ...
  • 操作系統 :CentOS 7.6_x64 opensips版本: 2.4.9 python版本:2.7.5 python作為腳本語言,使用起來很方便,查了下opensips的文檔,支持使用python腳本寫邏輯代碼。今天整理下CentOS7環境下opensips2.4.9的python模塊筆記及使用 ...