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


  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 被視為空集。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM