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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...