Redis核心數據結構操作指南:字符串、哈希、列表詳解

注:此為蒼穹外賣學習筆記

Redis作為高性能的鍵值數據庫,其核心價值來自于豐富的數據結構支持。本文將深入解析字符串(String)哈希(Hash)、**列表(List)**三大基礎結構的操作命令,通過大量實用案例展現其應用場景。

一、字符串(String)操作命令

字符串是 Redis 中最基礎的數據類型,常用于存儲文本、數字或二進制數據。

常用命令及示例
  1. set key value 設置鍵值對,支持過期時間(EX)、不存在時設置(NX)等選項。 示例:

     
    set name "john"         # 設置 name=john
    set counter 10 EX 60    # 設置 counter=10,60秒后過期

  2. get key 獲取鍵對應的值。 示例:

     
    get name  # 返回 "john"

  3. incr key 將鍵的值加 1(僅限整數)。 示例:

     
    incr counter  # 若原值為 10,操作后變為 11

  4. append key value 向字符串尾部追加內容。 示例:

     
    append greeting "hello"   # 若原值為空,操作后變為 "hello"
    append greeting " world"  # 結果變為 "hello world"

  5. mset / mget 批量設置/獲取多個鍵值對。 示例:

     
    mset key1 "a" key2 "b"  
    mget key1 key2  # 返回 ["a", "b"]

二、哈希(Hash)操作命令

哈希用于存儲對象,適合保存字段-值對(如用戶信息)。

常用命令及示例
  1. hset key field value 設置哈希中單個或多個字段的值。 示例:

     
    hset user:1000 name "john" age 30  # 設置 name=john 和 age=30

  2. hget key field 獲取哈希中指定字段的值。 示例:

     
    hget user:1000 name  # 返回 "john"

  3. hgetall key 獲取哈希所有字段和值。 示例:

     
    hgetall user:1000  # 返回 ["name", "john", "age", "30"]

  4. hincrby key field increment 對哈希中的數值字段進行增減。 示例:

     
    hincrby user:1000 age 1  # 將 age 從 30 增加到 31

  5. hdel key field 刪除哈希中的字段。 示例:

     
    hdel user:1000 age  # 刪除 age 字段

三、列表(List)操作命令

列表是雙向鏈表結構,支持在頭部或尾部操作元素,常用于隊列、棧等場景。

常用命令及示例
  1. lpush key element 將元素插入列表頭部(左側)。 示例:

     
    lpush mylist "a"       # 列表變為 ["a"]
    lpush mylist "b" "c"  # 列表變為 ["c", "b", "a"]

  2. rpush key element 將元素插入列表尾部(右側)。 示例:

     
    rpush mylist "d"  # 列表變為 ["c", "b", "a", "d"]

  3. lrange key start stop 獲取列表中指定范圍的元素(索引從 0 開始,-1 表示末尾)。 示例:

     
    lrange mylist 0 -1  # 返回 ["c", "b", "a", "d"]

  4. lpop key / rpop key 移除并返回列表頭部(左側)或尾部(右側)的元素。 示例:

     
    lpop mylist  # 返回 "c",列表變為 ["b", "a", "d"]
    rpop mylist  # 返回 "d",列表變為 ["b", "a"]

  5. blpop key timeout 阻塞式彈出列表頭部元素,若列表為空則等待(超時單位為秒)。 示例:

     
    blpop tasks 10  # 等待 tasks 列表中的元素,最多等 10 秒

四、應用場景總結

  • 字符串:緩存、計數器、分布式鎖。
  • 哈希:對象存儲(用戶信息、商品詳情)。
  • 列表:消息隊列、最新消息排行、棧結構。

通過合理選擇數據結構,可以高效解決各類實際問題。

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

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

相關文章

如何以 9 種方式將照片從 iPhone 傳輸到筆記本電腦

您的 iPhone 可能充滿了以照片和視頻形式捕捉的珍貴回憶。無論您是想備份它們、在更大的屏幕上編輯它們,還是只是釋放設備上的空間,您都需要將照片從 iPhone 傳輸到筆記本電腦。幸運的是,有 9 種方便的方法可供使用,同時滿足 Wind…

如何使用Python從MySQL數據庫導出表結構到Word文檔

在開發和維護數據庫的過程中,能夠快速且準確地獲取表結構信息是至關重要的。本文將向您展示一種簡單而有效的方法,利用Python腳本從MySQL數據庫中提取指定表的結構信息,并將其導出為格式化的Word文檔。此方法不僅提高了工作效率,還…

寫作-- 復合句練習

文章目錄 練習 11. 家庭的支持和老師的指導對學生的學術成功有積極影響。2. 缺乏準備和未能適應通常會導致在挑戰性情境中的糟糕表現。3. 吃垃圾食品和忽視鍛煉可能導致嚴重的健康問題,因此人們應注重保持均衡的生活方式。4. 昨天的大雨導致街道洪水泛濫,因此居民們遷往高地以…

QT使用說明

QT環境準備 推薦Ubuntu平臺上使用,配置簡單,坑少。 Ubuntu 20.04 安裝 sudo apt-get install qt5-default -y sudo apt-get install qtcreator -y sudo apt-get install -y libclang-common-8-dev啟動 qtcreatorHelloWorld 打開 Qt Creator。選擇 …

React 第四十九節 Router中useNavigation的具體使用詳解及注意事項

前言 useNavigation 是 React Router 中一個強大的鉤子,用于獲取當前頁面導航的狀態信息。 它可以幫助開發者根據導航狀態優化用戶體驗,如顯示加載指示器、防止重復提交等。 一、useNavigation核心用途 檢測導航狀態:判斷當前是否正在進行…

列表單獨展開收起同時關閉其余子項的問題優化

如圖所示,當在列表中,需要分別單獨點開子選項時,直接這樣用一個index參數判斷即可,非常簡單方便,只需要滿足點開當前index,然后想同index用null值自動關閉即可

WPF【11_5】WPF實戰-重構與美化(MVVM 實戰)

11-10 【重構】創建視圖模型,顯示客戶列表 正式進入 MVVM 架構的代碼實戰。在之前的課程中, Model 和 View 這部分的代碼重構實際上已經完成了。 Model 就是在 Models 文件夾中看到的兩個文件, Customer 和 Appointment。 而 View 則是所有與…

LangChain-結合魔塔社區modelscope的embeddings實現搜索

首先要安裝modelscope pip install modelscope 安裝完成后測試 from langchain_community.embeddings import ModelScopeEmbeddingsembeddings ModelScopeEmbeddings(model_id"iic/nlp_gte_sentence-embedding_chinese-base")text "這是一個測試句子"…

可定制化貨代管理系統,適應不同業務模式需求!

在全球化貿易的浪潮下,貨運代理行業扮演著至關重要的角色。然而,隨著市場競爭的日益激烈,貨代企業面臨著越來越多的挑戰:客戶需求多樣化、業務流程復雜化、運營成本上升、利潤空間壓縮……這些挑戰迫使貨代企業不斷尋求創新和突破…

Lyra學習筆記2 GFA_AddComponents與ULyraPlayerSpawningManagerComponent

目錄 前言GameFeatureAction_AddComponentsULyraPlayerSpawningManagerComponent緩存所有PlayerStart位置選擇位置 前言 1.以control模式為例 2.比較散,想單獨拿出一篇梳理下Experience的流程 GameFeatureAction_AddComponents 這部分建議看 《InsideUE5》GameFeatu…

進程生命周期

進程生命周期 Linux是多任務操作系統,系統中的每個進程能夠分時復用CPU時間片,通過有效的進程調度策略實現多任務并行執行。進程在被CPU調度運行,等待CPU資源分配以及等待外部事件時會處于不同的狀態。進程狀態如下: 創建狀態&a…

文字轉圖片的字符畫生成工具

軟件介紹 今天要介紹的這款軟件可以將文字轉換成圖片的排列形式,非常適合需要將文字圖形化的場景,建議有需要的朋友收藏。 軟件名稱與用途 這款軟件名為《字符畫大師》,是一款在網吧等場所非常流行的聊天輔助工具,其主要功能就…

歷年南京大學計算機保研上機真題

2025南京大學計算機保研上機真題 2024南京大學計算機保研上機真題 2023南京大學計算機保研上機真題 在線測評鏈接:https://pgcode.cn/school Count Number of Binary Strings 題目描述 Given a positive integer n n n ( 3 ≤ n ≤ 90 3 \leq n \leq 90 3≤n≤…

王樹森推薦系統公開課 排序06:粗排模型

shared bottom 表示神經網絡被所有特征共享。精排模型主要開銷在神經網絡,神經網絡很大且很復雜。 每做一次推薦,用戶塔只做一次推理。物品塔存放入向量數據庫。 后期融合模型常用于召回,前期融合模型常用于精排。 物品塔短時間內比較穩…

VSCode的下載與安裝(2025親測有效)

目錄 0 前言1 下載2 安裝3 后記 0 前言 丫的,誰懂啊,嘗試了各種辦法不行的話,我就不得不拿出我的最后絕招了,卸載,重新安裝,我經常要重新安裝,所以自己寫了一個博客,給自己&#xf…

端午節互動網站

端午節互動網站 項目介紹 這是一個基于 Vue 3 Vite 開發的端午節主題互動網站,旨在通過有趣的交互方式展示中國傳統端午節文化。網站包含三個主要功能模塊:端午節介紹、互動包粽子游戲和龍舟競賽游戲。 預覽網站:https://duanwujiekuaile…

Python+requests+pytest接口自動化測試框架的搭建(全)

🍅 點擊文末小卡片,免費獲取軟件測試全套資料,資料在手,漲薪更快 框架的設計思路 首先要明確進行接口自動化需要的步驟,如下圖所示: 然后逐步拆解需要完成的工作: 1)了解分析需求&…

OpenCV視覺圖片調整:從基礎到實戰的技術指南

引言:數字圖像處理的現代意義與OpenCV深度應用 在人工智能與計算機視覺蓬勃發展的今天,圖像處理技術已成為多個高科技領域的核心支撐。根據市場研究機構Grand View Research的數據,全球計算機視覺市場規模預計將從2022年的125億美元增長到2030年的253億美元,年復合增長率達…

JS手寫代碼篇---手寫節流函數

8、節流函數 什么是節流函數? 指規定一個單位時間,在這個單位時間內,只能有一次觸發事件的回調函數執行,如果在同一個單位時間內某事件被觸發多次,只有一次能生效。 與防抖函數有什么區別? 防抖函數是延…

2025年05月30日Github流行趨勢

項目名稱:agenticSeek 項目地址url:https://github.com/Fosowl/agenticSeek項目語言:Python歷史star數:13040今日star數:1864項目維護者:Fosowl, steveh8758, klimentij, ganeshnikhil, apps/copilot-pull-…