麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > Redis > 正文

Redis中散列類型的常用命令

2020-02-17 14:53:23
字體:
來源:轉載
供稿:網友

散列類型的鍵值其實也是一種字典解耦,其存儲了字段和字段值的映射,但字段值只能是字符串,不支持其他數據類型,所以說散列類型不能嵌套其他的數據類型。下面武林技術小編就來說下Redis中散列類型的常用命令,有需要的可以參考學習。

Redis散列類型

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

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

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

1、基本命令

例如現在要存儲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 author1) "2016/08/25"2) "JoJo"

hgetall key????????????????? #取得key所對應的所有鍵值列表,這里給出個例子

redis 127.0.0.1:6379> hgetall post:11) "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的區別就是如果字段存在,這個命令將不執行任何操作,但是這里有一個區別就是Redis提供的這些命令都是原子操作,不會產生數據不一致問題。

例:

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  //不存在的話,設置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,并設置age字段redis 127.0.0.1:6379> hget post:1 age"23"

4、增加數字

hincrby key field number

這里就和incry命令類似了。

例:

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

5、刪除字段

hdel key field [field ...]

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

6、其他命令

hkeys key??? #獲取字段名

hvals key??? #獲取字段名

示例如下:

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

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

hlen key

返回字段的數量

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

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 国内成人自拍视频 | 久久久一区二区三区四区 | 久久亚洲国产午夜精品理论片 | 成人在线精品视频 | 2021国产精品视频 | 久久精品一区二区三区不卡牛牛 | 精品中文字幕久久久久四十五十骆 | 91九色福利 | 午夜影视一区二区 | 亚洲精品成人av在线 | 深夜免费福利视频 | 欧洲黄色一级视频 | 特黄一区二区三区 | 被啪羞羞视频在线观看 | 最新中文字幕日本 | 视频www | 久久免费观看一级毛片 | 国产精品剧情一区二区三区 | 欧美视屏一区二区 | 羞羞答答xxdd在线播放 | 成人三级视频在线观看 | 日韩在线播放第一页 | 国产精品视频一区二区三区四 | 久草成人在线 | 小情侣嗯啊哦视频www | 青草av.久久免费一区 | 免费一区二区三区 | 最新中文字幕在线视频 | 精品在线一区二区三区 | 久久福利小视频 | 99精品视频免费看 | 欧美成人三级视频 | 欧美精品a∨在线观看不卡 午夜精品影院 | www.99久久久 | 一级片久久免费 | 黄网免费看 | 亚洲第一成av人网站懂色 | 欧美一级特黄aaaaaa在线看首页 | 成人在线免费视频播放 | 99精品国产小情侣高潮露脸在线 | 免费香蕉成视频成人网 |