欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

Redis散列類型

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

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

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

1、基本命令

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

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

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 ...]  #這個(gè)同上,批量存值

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

例:

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

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

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、當(dāng)字段不存在時(shí)賦值

hsetnx key field value

這個(gè)和hset的區(qū)別就是如果字段存在,這個(gè)命令將不執(zhí)行任何操作,但是這里有一個(gè)區(qū)別就是Redis提供的這些命令都是原子操作,不會(huì)產(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 ...]

刪除字段,一個(gè)或多個(gè),返回值是被刪除字段的個(gè)數(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"

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

hlen key

返回字段的數(shù)量

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

總結(jié)

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

相關(guān)文章

  • Redis恢復(fù)被移除集群的服務(wù)器實(shí)操步驟

    Redis恢復(fù)被移除集群的服務(wù)器實(shí)操步驟

    這篇文章主要為大家介紹了Redis恢復(fù)被移除集群的服務(wù)器實(shí)操步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • RedisAPI原子性操作及原理解析

    RedisAPI原子性操作及原理解析

    這篇文章主要介紹了RedisAPI原子性操作及原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Redis中Scan命令的基本使用教程

    Redis中Scan命令的基本使用教程

    這篇文章主要給大家介紹了關(guān)于Redis中Scan命令的基本使用教程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Caffeine實(shí)現(xiàn)類似redis的動(dòng)態(tài)過期時(shí)間設(shè)置示例

    Caffeine實(shí)現(xiàn)類似redis的動(dòng)態(tài)過期時(shí)間設(shè)置示例

    這篇文章主要為大家介紹了Caffeine實(shí)現(xiàn)類似redis的動(dòng)態(tài)過期時(shí)間示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • redis簡(jiǎn)單介紹及安裝使用小結(jié)

    redis簡(jiǎn)單介紹及安裝使用小結(jié)

    本文主要是對(duì)于redis初步學(xué)習(xí)的小結(jié)內(nèi)容,包括了redis介紹,redis安裝以及最簡(jiǎn)單的使用,希望大家能夠喜歡
    2018-11-11
  • redis實(shí)現(xiàn)分布式session的解決方案

    redis實(shí)現(xiàn)分布式session的解決方案

    session存放在服務(wù)器,關(guān)閉瀏覽器不會(huì)失效,本文主要介紹了redis實(shí)現(xiàn)分布式session的解決方案,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • NoSQL和Redis簡(jiǎn)介及Redis在Windows下的安裝和使用教程

    NoSQL和Redis簡(jiǎn)介及Redis在Windows下的安裝和使用教程

    這篇文章主要介紹了NoSQL和Redis簡(jiǎn)介及Redis在Windows下的安裝和使用教程,本文同時(shí)講解了python操作redis,并給出了操作實(shí)例,需要的朋友可以參考下
    2015-01-01
  • Redis可視化連接服務(wù)器的方法

    Redis可視化連接服務(wù)器的方法

    這篇文章主要介紹了Redis可視化連接服務(wù)器的方法,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • Redis 通過 RDB 方式進(jìn)行數(shù)據(jù)備份與還原的方法

    Redis 通過 RDB 方式進(jìn)行數(shù)據(jù)備份與還原的方法

    這篇文章主要介紹了Redis 通過 RDB 方式進(jìn)行數(shù)據(jù)備份與還原,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Redis服務(wù)器的啟動(dòng)過程分析

    Redis服務(wù)器的啟動(dòng)過程分析

    這篇文章主要介紹了Redis服務(wù)器的啟動(dòng)過程分析,本文講解了初始化Redis服務(wù)器全局配置、加載配置文件、初始化服務(wù)器、加載數(shù)據(jù)、開始網(wǎng)絡(luò)監(jiān)聽等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評(píng)論