最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis中散列類型的常用命令小結(jié)

 更新時間:2016年09月27日 10:32:55   作者:Joans  
散列類型的鍵值其實也是一種字典解耦,其存儲了字段和字段值的映射,但字段值只能是字符串,不支持其他數(shù)據(jù)類型,所以說散列類型不能嵌套其他的數(shù)據(jù)類型。下面就來詳細介紹下Redis中散列類型的常用命令,有需要的可以參考學習。

Redis散列類型

Redis是采用字典結(jié)構(gòu)以鍵值對的形式存儲數(shù)據(jù)的,而散列類型(hash)的鍵值也是一種字典結(jié)構(gòu),其存儲了字段和字段值的映射,但字段值只能是字符串,不支持其他數(shù)據(jù)類型,也就是說,散列類型不能嵌套其他的數(shù)據(jù)類型。一個散列類型鍵可以包含至多2^32-1個字段。

除了散列類型,Redis的其他數(shù)據(jù)類型同樣不支持數(shù)據(jù)類型嵌套。比如集合類型的每個元素只能是字符串,不能是一個集合或者散列表等。

散列類型適合存儲對象:使用對象類別和ID構(gòu)成建名,使用字段表示對象的屬性,而字段值存儲屬性值。例如要存儲ID為2的汽車對象,可以分別使用名為color、name和price的三個字段來存儲該汽車的顏色、名稱和價格。

1、基本命令

例如現(xiàn)在要存儲ID為1的文章,分別有title、author、time、content

則鍵為post:1,字段分別為title、author、time、content,值分別為“the first post”、“me”、“2014-03-04”、“This is my first post.”,存儲如下

redis 127.0.0.1:6379> hmset post:1 title "the first post" author "JoJo" time 2016/08/25 content "this is my first post"
OK

這里使用的是hmset命令,具體散列的基本賦值命令如下:

hset key field value   #例如hset post:2 title “second post”

hget key field             #例如hget post:2 title,獲取id為2的post的title值

hmset key field value [field value ...]  #這個同上,批量存值

hmget key field [field ...]                      #批量取值,取得列表

例:

redis 127.0.0.1:6379> hmget post:1 time author
1) "2016/08/25"
2) "JoJo"

hgetall key                  #取得key所對應(yīng)的所有鍵值列表,這里給出個例子

redis 127.0.0.1:6379> hgetall post:1
1) "title"
2) "the first post"
3) "author"
4) "JoJo"
5) "time"
6) "2016/08/25"
7) "content"
8) "this is my first post"

 2、判斷是否存在

hexists key field

如果存在返回1,否則返回0(如果鍵不存在也返回0)。

3、當字段不存在時賦值

hsetnx key field value

這個和hset的區(qū)別就是如果字段存在,這個命令將不執(zhí)行任何操作,但是這里有一個區(qū)別就是Redis提供的這些命令都是原子操作,不會產(chǎn)生數(shù)據(jù)不一致問題。

例:

redis 127.0.0.1:6379> hexists post:1 time
(integer) 1  //判斷是存在time字段的
redis 127.0.0.1:6379> hsetnx post:1 time 2016/08/26
(integer) 0  //不存在的話,設(shè)置time,存在的話返回0,值不變,原始值
redis 127.0.0.1:6379> hget post:1 time
"2016/08/25"
redis 127.0.0.1:6379> hsetnx post:1 age 23
(integer) 1   //不存在age字段,返回1,并設(shè)置age字段
redis 127.0.0.1:6379> hget post:1 age
"23"

4、增加數(shù)字

hincrby key field number

這里就和incry命令類似了。

例:

redis 127.0.0.1:6379> hincrby post:1 age 2
(integer) 25

5、刪除字段

hdel key field [field ...]

刪除字段,一個或多個,返回值是被刪除字段的個數(shù)。

6、其他命令

hkeys key    #獲取字段名

hvals key    #獲取字段名

示例如下:

redis 127.0.0.1:6379> hkeys post:1
1) "title"
2) "author"
3) "time"
4) "content"
5) "age"
redis 127.0.0.1:6379> hvals post:1
1) "the first post"
2) "JoJo"
3) "2016/08/25"
4) "this is my first post"
5) "25"

最后還有一個就是獲取字段數(shù)量的命令:

hlen key

返回字段的數(shù)量

redis 127.0.0.1:6379> hlen post:1
(integer) 5

總結(jié)

以上就是Redis中散列類型常用命令的全部內(nèi)容了,希望能對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • redis如何后臺啟動的方法

    redis如何后臺啟動的方法

    這篇文章主要介紹了redis如何后臺啟動的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Spring?redis使用報錯Read?timed?out排查及解決過程

    Spring?redis使用報錯Read?timed?out排查及解決過程

    項目使用spring集成redis,偶爾會出現(xiàn)read timed out的情況,剛開始以為是網(wǎng)絡(luò)不穩(wěn)定引起的,后面發(fā)現(xiàn)影響業(yè)務(wù)測試的準確性,這篇文章主要給大家介紹了關(guān)于Spring redis使用報錯Read timed out排查及解決過程的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • Redis連接超時異常的處理方法

    Redis連接超時異常的處理方法

    這篇文章主要給大家介紹了關(guān)于Redis連接超時異常的處理方法,文中通過示例代碼以及圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-07-07
  • Redis實現(xiàn)主從復(fù)制方式(Master&Slave)

    Redis實現(xiàn)主從復(fù)制方式(Master&Slave)

    這篇文章主要介紹了Redis實現(xiàn)主從復(fù)制方式(Master&Slave),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Redis?整數(shù)集合的具體使用(intset)

    Redis?整數(shù)集合的具體使用(intset)

    對于集合,STL?的?set?相信大家都不陌生,本文主要介紹了整數(shù)集合,又稱為?intset,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 淺析Redis如何保證數(shù)據(jù)不丟失

    淺析Redis如何保證數(shù)據(jù)不丟失

    Redis是一種Nosql類型的數(shù)據(jù)存儲,全稱Remote?Dictionary?Server,也就是遠程字典服務(wù)器,本文主要來和大家討論一下Redis如何保證數(shù)據(jù)不丟失,需要的可以參考下
    2024-02-02
  • Redis緩存lettuce更換為Jedis的實現(xiàn)步驟

    Redis緩存lettuce更換為Jedis的實現(xiàn)步驟

    在springboot中引入spring-boot-starter-data-redis依賴時,默認使用的是lettuce,如果不想使用lettuce而是使用Jedis連接池,本文主要介紹了Redis緩存lettuce更換為Jedis的實現(xiàn)步驟,感興趣的可以了解一下
    2024-08-08
  • 關(guān)于Redis?bigkeys命令會阻塞問題的解決

    關(guān)于Redis?bigkeys命令會阻塞問題的解決

    這篇文章主要介紹了關(guān)于Redis?bigkeys命令會阻塞問題的解決,今天分享一次Redis引發(fā)的線上事故,避免再次踩雷,實現(xiàn)快速入門,需要的朋友可以參考下
    2023-03-03
  • redis緩存與數(shù)據(jù)庫一致性的問題及解決

    redis緩存與數(shù)據(jù)庫一致性的問題及解決

    這篇文章主要介紹了redis緩存與數(shù)據(jù)庫一致性的問題及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • redis中5種數(shù)據(jù)基礎(chǔ)查詢命令

    redis中5種數(shù)據(jù)基礎(chǔ)查詢命令

    本文主要介紹了redis中5種數(shù)據(jù)基礎(chǔ)查詢命令,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04

最新評論

六安市| 安新县| 寿阳县| 原阳县| 南开区| 新竹市| 宿州市| 北京市| 辰溪县| 易门县| 通榆县| 塔河县| 灌云县| 哈巴河县| 九江县| 九江市| 甘泉县| 宁安市| 沈丘县| 鄂伦春自治旗| 吕梁市| 前郭尔| 巧家县| 大同县| 武川县| 金昌市| 安塞县| 武强县| 林周县| 汶川县| 济源市| 白山市| 介休市| 云浮市| 友谊县| 温宿县| 丹阳市| 九龙坡区| 繁峙县| 饶河县| 丽水市|