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

Redis哈希Hash鍵值對(duì)集合操作(查詢?cè)黾有薷?

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

一、哈希 Hash 鍵值對(duì)集合

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

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

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

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

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

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

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

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

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

二、查詢操作

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

執(zhí)行

hget student name

命令 , 可以 獲取 Redis 中 student 鍵 對(duì)應(yīng)的 Hash 數(shù)據(jù)中的 name 鍵 對(duì)應(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 鍵值對(duì) 時(shí) , 需要使用 hget student name 命令 ;

2、查詢 Hash 鍵是否存在

執(zhí)行

hexists student name

命令 , 可以 獲取 Redis 中 student 鍵 對(duì)應(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 鍵 對(duì)應(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 鍵 對(duì)應(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 鍵值對(duì)數(shù)據(jù)

執(zhí)行

hset student name Tom

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

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

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 鍵值對(duì) 時(shí) , 需要使用 hget student name 命令 ;

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

執(zhí)行

hmset student name Tom age 18

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

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

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 鍵對(duì)應(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 鍵對(duì)應(yīng)值

執(zhí)行

hsetnx student weight 85

命令 , 可以 在 鍵 student 中的 Hash 數(shù)據(jù)值 中 如果不存在 weight 鍵 , 則 添加 weight=85 鍵值對(duì)數(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鍵值對(duì)集合操作(查詢?cè)黾有薷?的文章就介紹到這了,更多相關(guān)Redis Hash鍵值操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redisson實(shí)現(xiàn)Redis分布式鎖的幾種方式

    Redisson實(shí)現(xiàn)Redis分布式鎖的幾種方式

    本文在講解如何使用Redisson實(shí)現(xiàn)Redis普通分布式鎖,以及Redlock算法分布式鎖的幾種方式的同時(shí),也附帶解答這些同學(xué)的一些疑問,感興趣的可以了解一下
    2021-08-08
  • Redis中?HyperLogLog數(shù)據(jù)類型使用小結(jié)

    Redis中?HyperLogLog數(shù)據(jù)類型使用小結(jié)

    Redis使用HyperLogLog的主要作用是在大數(shù)據(jù)流(view,IP,城市)的情況下進(jìn)行去重計(jì)數(shù),這篇文章主要介紹了Redis中?HyperLogLog數(shù)據(jù)類型使用總結(jié),需要的朋友可以參考下
    2023-03-03
  • Redis如何實(shí)現(xiàn)投票功能

    Redis如何實(shí)現(xiàn)投票功能

    這篇文章主要介紹了Redis如何實(shí)現(xiàn)投票功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Redis如何正確關(guān)閉和開啟持久化

    Redis如何正確關(guān)閉和開啟持久化

    本文主要介紹了Redis如何正確關(guān)閉和開啟持久化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis高階使用消息隊(duì)列分布式鎖排行榜等(高階用法)

    Redis高階使用消息隊(duì)列分布式鎖排行榜等(高階用法)

    在大多數(shù)傳統(tǒng)的web系統(tǒng)中,使用Redis一般都是作為緩存使用,在大數(shù)據(jù)查詢時(shí)作為緩解性能的一種解決方案,這篇文章主要介紹了Redis高階使用消息隊(duì)列分布式鎖排行榜等,需要的朋友可以參考下
    2024-03-03
  • 深度解析Redis?數(shù)據(jù)淘汰策略

    深度解析Redis?數(shù)據(jù)淘汰策略

    本文將深入剖析8種淘汰策略的機(jī)制,并結(jié)合Java代碼演示生產(chǎn)環(huán)境的最佳實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • SpringBoot整合Redis入門之緩存數(shù)據(jù)的方法

    SpringBoot整合Redis入門之緩存數(shù)據(jù)的方法

    Redis是一個(gè)開源的使用ANSI C語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫,并提供多種語言的API,下面通過本文給大家介紹下SpringBoot整合Redis入門之緩存數(shù)據(jù)的相關(guān)知識(shí),感興趣的朋友一起看看吧
    2021-11-11
  • Redis的幾種數(shù)據(jù)類型使用詳解

    Redis的幾種數(shù)據(jù)類型使用詳解

    這篇文章主要介紹了Redis的幾種數(shù)據(jù)類型使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 淺談Redis緩沖區(qū)機(jī)制

    淺談Redis緩沖區(qū)機(jī)制

    本文主要介紹淺談Redis緩沖區(qū)機(jī)制,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 基于redis+lua進(jìn)行限流的方法

    基于redis+lua進(jìn)行限流的方法

    這篇文章主要介紹了基于redis+lua進(jìn)行限流,通過實(shí)例代碼詳細(xì)介紹了lua+redis進(jìn)行限流的做法,開發(fā)環(huán)境使用idea+redis+lua,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07

最新評(píng)論