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

Redis哈希Hash鍵值對集合操作(查詢增加修改)

 更新時(shí)間:2024年01月23日 11:08:29   作者:韓曙亮  
Redis中的Hash數(shù)據(jù)?是一個(gè)?鍵值對集合,本文主要介紹了Redis哈希Hash鍵值對集合操作(查詢增加修改),具有一定的參考價(jià)值,感興趣的可以了解一下

一、哈希 Hash 鍵值對集合

Redis 中的 Hash 數(shù)據(jù) 是一個(gè) 鍵值對集合 , 類似于 Java 中的 Map 集合 ;

Hash 數(shù)據(jù)底層數(shù)據(jù)結(jié)構(gòu)是 :

  • 壓縮列表 ZipList : Hash 中的 鍵值對 長度較短時(shí) 使用 壓縮列表 ;
  • 哈希表 HashTable : Hash 中的 鍵值對 長度較長時(shí) 使用 哈希表 ;

Redis 中存儲(chǔ)對象的方式 :

  • 存儲(chǔ)序列化之后的數(shù)據(jù) : 將 對象 序列化為 json 字符串 , 然后 存儲(chǔ)到 Redis 鍵值對 的 Value 值中 ;

    • 如果要修改對象中的數(shù)據(jù) , 要 先將對象反序列化 , 然后修改對象中的值 , 最后將對象序列化并保存 ;
  • 直接存儲(chǔ)對象字段 : 將每個(gè)對象的字段拆開 , 進(jìn)行分開存儲(chǔ) , 非常繁瑣 ;

    • 每個(gè) Redis 的 鍵 都保存一個(gè) 對象字段 , 一個(gè)對象可能要消耗多個(gè) 鍵 ;
  • 使用 Hash 存儲(chǔ) ( 推薦 ) : 將 對象 的 字段 , 都以 Hash 的 鍵值對 形式存儲(chǔ)起來 , 可以直接訪問修改對應(yīng)的對象字段 ;

    • 每個(gè) Redis 鍵 保存一個(gè)對象 , 對象的屬性 由 Hash 鍵值對 保存 ;

鍵值對區(qū)分 : Redis 中的鍵值對 一般稱為 Key=Value , 在 Hash 中的鍵值對 一般稱為 Field=Value ;

二、查詢操作

1、Redis 中查詢 Hash 鍵值對數(shù)據(jù)

執(zhí)行

hget student name

命令 , 可以 獲取 Redis 中 student 鍵 對應(yīng)的 Hash 數(shù)據(jù)中的 name 鍵 對應(yīng)的 值 ;

代碼示例 :

127.0.0.1:6379> hset student name Tom
(integer) 1
127.0.0.1:6379> get student
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> hget student
(error) ERR wrong number of arguments for 'hget' command
127.0.0.1:6379> hget student name
"Tom"
127.0.0.1:6379>

在這里插入圖片描述

注意 : 讀取該 Hash 的 name=Tom 鍵值對 時(shí) , 需要使用 hget student name 命令 ;

2、查詢 Hash 鍵是否存在

執(zhí)行

hexists student name

命令 , 可以 獲取 Redis 中 student 鍵 對應(yīng)的 Hash 數(shù)據(jù)中的 name 鍵 是否存在 ;

  • 如果存在 , 返回 1 ;
  • 如果不存在 , 返回 0 ;

代碼示例 :

127.0.0.1:6379> hexists student name
(integer) 1
127.0.0.1:6379> hexists student name1
(integer) 0
127.0.0.1:6379>

在這里插入圖片描述

3、查詢 Hash 中所有的鍵 Field

執(zhí)行

hkeys student

命令 , 可以 獲取 Redis 中 student 鍵 對應(yīng)的 Hash 數(shù)據(jù)中的 所有 鍵 Field ;

代碼示例 :

127.0.0.1:6379> hkeys student
1) "name"
2) "age"
127.0.0.1:6379>

在這里插入圖片描述

4、查詢 Hash 中所有的值

執(zhí)行

hvals student

命令 , 可以 獲取 Redis 中 student 鍵 對應(yīng)的 Hash 數(shù)據(jù)中的 所有 值 ;

代碼示例 :

127.0.0.1:6379>
127.0.0.1:6379> hvals student
1) "Tom"
2) "18"
127.0.0.1:6379>

在這里插入圖片描述

三、增加操作

1、Redis 中插入 Hash 鍵值對數(shù)據(jù)

執(zhí)行

hset student name Tom

命令 , 可以 給 鍵 student 中的 Hash 數(shù)據(jù)值 中 添加 name=Tom 鍵值對 ;

代碼示例 : 向 Redis 的 student 鍵值 下 插入 name=Tom 鍵值對 ;

127.0.0.1:6379> hset student name Tom
(integer) 1
127.0.0.1:6379> get student
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> hget student
(error) ERR wrong number of arguments for 'hget' command
127.0.0.1:6379> hget student name
"Tom"
127.0.0.1:6379>

在這里插入圖片描述

注意 : 讀取該 Hash 的 name=Tom 鍵值對 時(shí) , 需要使用 hget student name 命令 ;

2、批量插入 Hash 鍵值對數(shù)據(jù)

執(zhí)行

hmset student name Tom age 18

命令 , 可以 給 鍵 student 中的 Hash 數(shù)據(jù)值 中 添加 name=Tom 和 age=18 鍵值對 ;

代碼示例 : 向 Redis 的 student 鍵值 下 插入 name=Tom 和 age=18 鍵值對 ;

127.0.0.1:6379> hmset student name Tom age 18
OK
127.0.0.1:6379> hget student age
"18"
127.0.0.1:6379> hget student name
"Tom"
127.0.0.1:6379>

在這里插入圖片描述

四、修改操作

1、Hash 中 Field 鍵對應(yīng)值增減值

執(zhí)行

hincrby student age -5

命令 , 可以 給 鍵 student 中的 Hash 數(shù)據(jù)值 中 age=18 數(shù)據(jù)中的值 -5 操作 ;

代碼示例 :

127.0.0.1:6379>
127.0.0.1:6379> hincrby student age -5
(integer) 13
127.0.0.1:6379> hvals student
1) "Tom"
2) "13"
127.0.0.1:6379>

在這里插入圖片描述

2、設(shè)置 Hash 中 Field 鍵對應(yīng)值

執(zhí)行

hsetnx student weight 85

命令 , 可以 在 鍵 student 中的 Hash 數(shù)據(jù)值 中 如果不存在 weight 鍵 , 則 添加 weight=85 鍵值對數(shù)據(jù) ;

代碼示例 :

127.0.0.1:6379>
127.0.0.1:6379> hsetnx student weight 85
(integer) 1
127.0.0.1:6379> hkeys student
1) "name"
2) "age"
3) "weight"
127.0.0.1:6379>

在這里插入圖片描述

到此這篇關(guān)于Redis哈希Hash鍵值對集合操作(查詢增加修改)的文章就介紹到這了,更多相關(guān)Redis Hash鍵值操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis的Expire與Setex區(qū)別說明

    Redis的Expire與Setex區(qū)別說明

    這篇文章主要介紹了Redis的Expire與Setex區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • 詳解如何清理Redis內(nèi)存碎片

    詳解如何清理Redis內(nèi)存碎片

    操作系統(tǒng)的剩余空間總量足夠,但申請一塊N字節(jié)連續(xù)地址的空間時(shí),剩余內(nèi)存空間中沒有大小為N字節(jié)的連續(xù)空間,那么這些剩余內(nèi)存空間中,小于N字節(jié)的連續(xù)內(nèi)存空間就是內(nèi)存碎片,本文詳細(xì)介紹了如何清理Redis內(nèi)存碎片,需要的朋友可以參考一下
    2023-04-04
  • redis分布式鎖之可重入鎖的實(shí)現(xiàn)代碼

    redis分布式鎖之可重入鎖的實(shí)現(xiàn)代碼

    相信大家都知道可重入鎖的作用防止在同一線程中多次獲取鎖而導(dǎo)致死鎖發(fā)生,本文通過幾個(gè)例子給大家分享redis分布式鎖之可重入鎖的實(shí)現(xiàn)代碼,對redis分布式鎖的相關(guān)知識,感興趣的朋友一起看看吧
    2021-05-05
  • Redis中ziplist與quicklist解析與對比小結(jié)

    Redis中ziplist與quicklist解析與對比小結(jié)

    本文介紹了Redis中List數(shù)據(jù)類型的兩種編碼方式ziplist和quicklist,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-01-01
  • redis 存儲(chǔ)對象的方法對比分析

    redis 存儲(chǔ)對象的方法對比分析

    這篇文章主要介紹了redis 存儲(chǔ)對象的方法對比分析,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Ubuntu下Redis密碼設(shè)置問題及其解決過程

    Ubuntu下Redis密碼設(shè)置問題及其解決過程

    這篇文章主要介紹了Ubuntu下Redis密碼設(shè)置問題及其解決過程,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Linux安裝Redis、后臺(tái)運(yùn)行、系統(tǒng)自啟動(dòng)的設(shè)置方法

    Linux安裝Redis、后臺(tái)運(yùn)行、系統(tǒng)自啟動(dòng)的設(shè)置方法

    Redis是用C語言編寫的開源免費(fèi)的高性能的分布式內(nèi)存數(shù)據(jù)庫,基于內(nèi)存運(yùn)行并支持持久化的NoSQL數(shù)據(jù)庫。這篇文章主要介紹了Linux安裝Redis、后臺(tái)運(yùn)行、系統(tǒng)自啟動(dòng),需要的朋友可以參考下
    2020-01-01
  • redis連接被拒絕的解決方案

    redis連接被拒絕的解決方案

    這篇文章主要介紹了redis連接被拒絕的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • Redis主從復(fù)制作用及搭建過程

    Redis主從復(fù)制作用及搭建過程

    Redis?的主從復(fù)制是實(shí)現(xiàn)數(shù)據(jù)備份、讀寫分離和水平擴(kuò)展的核心機(jī)制之一,通過主從復(fù)制,一個(gè)主節(jié)點(diǎn)(Master)可以將數(shù)據(jù)同步到多個(gè)從節(jié)點(diǎn)(Slave),從節(jié)點(diǎn)還可以級聯(lián)創(chuàng)建自己的從節(jié)點(diǎn),從而形成樹狀結(jié)構(gòu),本文給大家介紹Redis主從復(fù)制的相關(guān)知識,感興趣的朋友一起看看吧
    2025-06-06
  • Redis緩沖區(qū)溢出及解決方案分享

    Redis緩沖區(qū)溢出及解決方案分享

    Redis緩沖區(qū)溢出是指Redis緩沖區(qū)被寫入的數(shù)據(jù)超過了它的容量,導(dǎo)致數(shù)據(jù)無法存儲(chǔ)或被覆蓋。造成緩沖區(qū)溢出的原因可能是快速寫入大量數(shù)據(jù)、緩沖區(qū)未及時(shí)刷新或Redis服務(wù)器配置不當(dāng)?shù)取?/div> 2023-04-04

最新評論

赤城县| 常宁市| 樟树市| 涪陵区| 上犹县| 崇州市| 象山县| 平远县| 高邑县| 寻乌县| 原平市| 瓦房店市| 延津县| 卢湾区| 宁安市| 东兴市| 镇赉县| 巨野县| 霍州市| 得荣县| 昭苏县| 建昌县| 常熟市| 晋州市| 普洱| 金阳县| 凤山县| 鄂托克前旗| 上饶县| 崇明县| 如东县| 姜堰市| 北票市| 浪卡子县| 海阳市| 和政县| 灵武市| 仁布县| 自治县| 乡城县| 阳曲县|