Redis的值value(數據結構類型)

来源:https://www.cnblogs.com/Arvin66-lyh/archive/2019/04/21/10746262.html
-Advertisement-
Play Games

Redis的數據結構類型,指的是redis的值的value類型; Redis的常用數據結構類型:string,list,set,sortedSet,hash 一.sting的類型 string類型是redis最常見的數據結構類型,存儲的值為字元串。 1.1String相關命令 set key val ...


  Redis的數據結構類型,指的是redis的值的value類型;

  Redis的常用數據結構類型:string,list,set,sortedSet,hash

一.sting的類型

  string類型是redis最常見的數據結構類型,存儲的值為字元串。

  1.1String相關命令

  set key value :設置一個key,值為value,類型為String類型;如果這個key已經存在,則更新這個key的值。

    返回值

      1表示成功

      0表示失敗

  setnx key vale:如果這個key不存在,則設置一個key,值為value;如果key存在,則不做更新。

    返回值

      1表示成功

      0表示失敗

  get key:獲取對應的value值;如果key不存在,則返回nil。

  incr key:將key中存儲的數字值增一,然後返回。如果這個key不存在,那麼key的值會先被初始化為0,然後再執行INCR操作。如果這個key對應的value值,不能表示數字,則會返回一個錯誤。

  incrby key increment:將key增加指定步長。

  decr key:將key中儲存的數字值減一,然後返回。如果這個key不存在,那麼key的值會先被初始化為0,然後再執行INCR操作。如果這個key對應的value值,不能表示數字,則會返回一個錯誤。

  decrby key decrement:將key減少對應的步長值。

  append key value:如果key已經存在,則將value追加到這個key原先的value值的末尾。如果這個key不存在,則執行set操作。

  Redis的key是單線程模式,這意味著一瞬間只有一個線程能夠持有這個key,所以,可以使用redis解決部分涉及線程安全的業務。

 

二.List類型

  1.特點

    (1)基於Linked List實現

    (2)元素是字元串類型

    (3)列表頭尾增刪快,中間增刪慢,增刪元素是常態

    (4)元素可以實現重現

    (5)最多包含2^32-1元素

  2.List類型相關命令

    lpush key value [value ...]:將一個或多個value插入到列表key的表頭(即從左邊插入);如果有多個value值,那麼各個value值按從左到右的順序依次插入表頭;如果key不存在,一個空列表會被創建並執行LPUSH操作,當key存在但不是列表類型時,返回一個錯誤。

    rpush key value [value...]:尾部添加(從右向左),操作同上。

    llen key :返回key對應list長度,key不存在返回0,如果key對應類型不是list返回錯誤。

    lindex key index:index元素在list列表的下角標,從0開始;lindex是從左到右取元素。

    lrange key start stop:獲取指定區間的所有元素;下角標從0開始,0表示第一個元素,1表示第二個,以此類推;-1表示最後一個元素,-2表示倒數第二個元素,以此類推。

    lpop key :移除並返回列表中的第一個元素。

    rpop key:移除並返回列表中的最後一個元素。

三.Hash類型(散列)

  1.特點

    (1)由Field和之關聯的value組成map鍵值對

    (2)field和value是字元串類型;

    (3)一個hash中最多包含2^32-1鍵值對。

  2.Hash相關命令

    hset key field value:設置hash field為指定值,如果key不存在,則先創建,如果field已經存在那麼將更新這個field的值。

    hget key field:獲取指定的hash field

    hmget key filed1...fieldN:獲取全部指定的hash field

    hmset key filed1 value1 ... filedN valueN:同時設置hash的多個field

    hexists key field:測試指定field是否存在

    hdel key field:刪除指定的hash field

     hlen key:返回指定hash的field數量

     hkeys key:返回hash的所有field

     hvals key:返回hash的所有value

    hgetall:返回hash的所有filed和value

四:Set相關命令

  1.特點

    (1)無序的,去重的;

    (2)元素是字元串類型;

    (3)最多包含2^32-1元素。

  2.Set相關命令

    sadd key member [member  ...](無序不重覆):將一個或多個 member 元素加入到集合key 當中,已經存在於集合的 member 元素將被忽略。假如 key 不存在,則創建一個只包含 member 元素作成員的集合。 key 不是集合類型時,返回一個錯誤。

 

    smembers key:返回集合 key 中的所有成員。不存在的 key 被視為空集合。

 

    spop key:移除並返回集合中的一個隨機元素。被移除的隨機元素。key不存在或key是空集時,返回nil。

 

    scard key:返回集合key的基數(集合中元素的數量)。集合的基數。key不存在時,返回0。

 

交集、並集、差集sinter sunion sdiff

    sinter key [key ...]:返回一個集合的全部成員,該集合是所有給定集合的交集。不存在的 key 被視為空集。

 

    sunion key [key ...]:返回一個集合的全部成員,該集合是所有給定集合的並集。不存在的 key 被視為空集。

 

    sdiff key [key ...]:返回一個集合的全部成員,該集合是所有給定集合之間的差集。不存在的 key 被視為空集。

 

 

 


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

-Advertisement-
Play Games
更多相關文章
  • 註:本文僅針對Cortex-M3/4 系列進行講述。 在傳統的ARM處理器架構中,常使用SWP指令來實現鎖的讀/寫原子操作,但從ARM v6開始,讀/寫訪問在獨立的兩條匯流排上進行,SWP指令已無法在此架構下保證讀/寫訪問的原子操作,因此互斥訪問指令應運而生。本文結合項目中運用的相關方法,總結Cort ...
  • 什麼是雲計算? 雲計算是一種採用按量付費的模式,基於虛擬化技術,將相應計算資源(如網路、存儲等)池化後,提供便捷的、高可用的、高擴展性的、按需的服務(如計算、存儲、應用程式和其他 IT 資源)。 雲計算的基本特征? 自主服務:可按需的獲取雲端的相應資源(主要指公有雲); 網路訪問:可隨時隨地使用任何 ...
  • 一、 概念與由來 LVM:邏輯捲管理(Logical Volume Manager) 普通的磁碟分區管理方式在邏輯分區劃分好之後就無法改變其大小,當一個邏輯分區存放不下某文件時,這個文件因為受上層文件系統的限制,不能跨越多個分區存放,所以也不能放到多個磁碟上。 而當某個分區空間耗盡時,解決的方法通常 ...
  • 胖友,如果你的電腦是windows系統,下麵這十八招windows快捷鍵都不會,還敢說你會用windows? 說到windows的快捷鍵,當然不是只有ctrl+c,ctrl+v這麼簡單,今天我整理了一下一些windows常用的使用快捷鍵技巧,用於提高辦公效率。來吧,一起玩一下。 1,新建文件夾(Ct ...
  • if [ 1 -ne 1 ];then...fi這是指當1不等於1時執行then後的語句-eq:等於-ne:不等於-le:小於等於-ge:大於等於-lt:小於-gt:大於 ...
  • vsftpd丶NFS丶SAMBA nfs基於rpcsamba基於cifs(smb) DRBD:ftp:File Transfer protocol 文件傳輸協議 兩個連接: tcp:命令連接 tcp:數據連接 在被動模式下數據傳輸埠是隨機的除非自己指定 主動模式:伺服器端通過20埠主動連接客戶端 ...
  • PXE介紹 Preboot Excution Environment 預啟動執行環境 Intel公司研發 基於Client/Server的網路模式,支持遠程主機通過網路從遠端伺服器下載映像,並由此支持通過網路啟動操作系統 PXE可以引導和安裝Windows,linux等多種操作系統 所謂的PXE是P ...
  • 由於需要對ADC進行驅動設計,因此學習了一下Linux驅動的IIO子系統。本文翻譯自《Linux Device Drivers Development 》--John Madieu,本人水平有限,若有錯誤請大家指出。 IIO Framework 工業I / O(IIO)是專用於模數轉換器(ADC)和 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...