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

redis的hash類型操作方法

 更新時(shí)間:2023年06月26日 11:25:46   作者:船長(zhǎng)@  
Hash 是一個(gè) String 類型的 field(字段) 和 value(值) 的映射表,hash 特別適合用于存儲(chǔ)對(duì)象,這篇文章主要介紹了redis的hash類型的詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

簡(jiǎn)介

Hash是一個(gè)鍵值對(duì)的集合。Hash 是一個(gè) String 類型的 field(字段) 和 value(值) 的映射表,hash 特別適合用于存儲(chǔ)對(duì)象。

Hash存儲(chǔ)結(jié)構(gòu)優(yōu)化:

如果field數(shù)量較少,存儲(chǔ)結(jié)構(gòu)優(yōu)化為類數(shù)組結(jié)構(gòu)

如果field數(shù)量較多,存儲(chǔ)結(jié)構(gòu)使用HashMap結(jié)構(gòu)

原生操作

增加/修改【key的field的value】

增加/修改

hset key field value

如果哈希表不存在,一個(gè)新的哈希表被創(chuàng)建并進(jìn)行 HSET 操作。 如果字段已經(jīng)存在于哈希表中,舊值將被重寫

增加(多個(gè))

hmset key field1 value1 field2 value2……

增加(鎖,只有field不存在時(shí)生效)

 hsetnx key field value

如果哈希表不存在,一個(gè)新的哈希表被創(chuàng)建并進(jìn)行 hsetnx 操作。

如果字段已經(jīng)存在于哈希表中,操作無效。

如果 key 不存在,一個(gè)新哈希表被創(chuàng)建并執(zhí)行 hsetnx 命令

查詢

查詢一個(gè)(key的field的value)

hget key field

查詢所有field

hkeys key

查詢所有value

hvals key

刪除【key的field】

刪除一個(gè)或多個(gè)

hdel key field1 field2……

不存在的字段將被忽略

方法 判斷指定key中是否存在field

hexists key field

如果哈希表含有給定字段,返回 1 。 如果哈希表不含有給定字段,或 key 不存在,返回 0

為哈希表key中的field字段的值加上增量increment(數(shù)字)

hincrby key field increment

增量也可以為負(fù)數(shù),相當(dāng)于對(duì)指定字段進(jìn)行減法操作 如果哈希表的 key 不存在,一個(gè)新的哈希表被創(chuàng)建并執(zhí)行 hincrby 命令 如果指定的字段不存在,那么在執(zhí)行命令前,字段的值被初始化為 0 對(duì)一個(gè)儲(chǔ)存字符串值的字段執(zhí)行 hincrby 命令將造成一個(gè)錯(cuò)誤

java操作redis的hash類型

【boundHashOps()】 增加 往指定key中存儲(chǔ) 鍵值

redisTemplate.boundHashOps("demo").put("1",1);

批量存儲(chǔ)到指定key中

Map<String,String> map = new HashMap<>();
          map.put("3","zhangsan");
          map.put("4","lisi");
          redisTemplate.boundHashOps("demo").putAll(map);

根據(jù)指定key判斷鍵是否存在,存在返回false不新增,不存在則新增鍵值對(duì)返回true

System.out.println(redisTemplate.boundHashOps("demo").putIfAbsent("7", 5));

修改

重新命名當(dāng)前key的名稱

redisTemplate.boundHashOps(key).rename("test");          

查詢

根據(jù)指定key中得鍵取出值

System.out.println(redisTemplate.boundHashOps("demo").get("1"));

根據(jù)指定key取出所有鍵

Set<Object> keys = redisTemplate.boundHashOps("demo").keys();

獲取指定key中所有鍵值對(duì)得值

List<Object> values = redisTemplate.boundHashOps("demo").values();
System.out.println(values);

根據(jù)指定key取出全部鍵值對(duì)

 Map&lt;Object, Object&gt; entries &#61; redisTemplate.boundHashOps(&#34;demo&#34;).entries();

刪除

根據(jù)指定key中得鍵刪除

redisTemplate.boundHashOps("demo").delete("1");

方法

設(shè)置key得到期時(shí)間 TimeUnit 設(shè)置時(shí)間類型(時(shí)、分、秒...)

redisTemplate.boundHashOps("demo").expire(100000, TimeUnit.MILLISECONDS);

獲取當(dāng)前key過期時(shí)間

System.out.println(redisTemplate.boundHashOps("demo").getExpire());

獲取指定key得元素長(zhǎng)度

Long size &#61; redisTemplate.boundHashOps(&#34;demo&#34;).size();

判斷指定key中是否存在該鍵

System.out.println(redisTemplate.boundHashOps(&#34;demo&#34;).hasKey(&#34;1&#34;));

獲取當(dāng)前key的存儲(chǔ)方式

System.out.println(redisTemplate.boundHashOps(&#34;demo&#34;).getType());

到此這篇關(guān)于redis的hash類型的詳解的文章就介紹到這了,更多相關(guān)redis的hash類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Redis基本數(shù)據(jù)類型哈希Hash常用操作命令

    Redis基本數(shù)據(jù)類型哈希Hash常用操作命令

    這篇文章主要為大家介紹了Redis基本數(shù)據(jù)類型哈希Hash常用操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Redisson分布式限流的實(shí)現(xiàn)原理解析

    Redisson分布式限流的實(shí)現(xiàn)原理解析

    這篇文章主要為大家介紹了Redisson分布式限流的實(shí)現(xiàn)原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Redis如何實(shí)現(xiàn)分布式鎖

    Redis如何實(shí)現(xiàn)分布式鎖

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

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

    本文主要介紹了Redis如何正確關(guān)閉和開啟持久化,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis中三種特殊數(shù)據(jù)類型命令詳解

    Redis中三種特殊數(shù)據(jù)類型命令詳解

    Geospatial是地理位置類型,我們可以用來查詢附近的人、計(jì)算兩人之間的距離等,這篇文章主要介紹了Redis中三種特殊數(shù)據(jù)類型命令詳解,需要的朋友可以參考下
    2024-05-05
  • 詳解redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作

    詳解redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作

    這篇文章主要介紹了詳解redis大幅性能提升之使用管道(PipeLine)和批量(Batch)操作 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • redis 用scan指令 代替keys指令(詳解)

    redis 用scan指令 代替keys指令(詳解)

    下面小編就為大家分享一篇redis 用scan指令 代替keys指令詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2017-12-12
  • Redis基本數(shù)據(jù)類型Zset有序集合常用操作

    Redis基本數(shù)據(jù)類型Zset有序集合常用操作

    這篇文章主要為大家介紹了redis基本數(shù)據(jù)類型Zset有序集合常用操作,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Web-ssrfme:redis 未授權(quán)訪問攻擊的問題解決

    Web-ssrfme:redis 未授權(quán)訪問攻擊的問題解決

    本文主要介紹了Web-ssrfme:redis 未授權(quán)訪問攻擊的問題解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-04-04
  • Redis高并發(fā)緩存設(shè)計(jì)問題與性能優(yōu)化

    Redis高并發(fā)緩存設(shè)計(jì)問題與性能優(yōu)化

    本文詳細(xì)介紹了Redis緩存設(shè)計(jì)中常見的問題及解決方案,包括緩存穿透、緩存失效(擊穿)、緩存雪崩、熱點(diǎn)緩存key重建優(yōu)化、緩存與數(shù)據(jù)庫(kù)雙寫不一致以及開發(fā)規(guī)范與性能優(yōu)化,感興趣的可以了解一下
    2024-11-11

最新評(píng)論