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

redis的hash類型操作方法

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

簡介

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

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

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

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

原生操作

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

增加/修改

hset key field value

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

增加(多個)

hmset key field1 value1 field2 value2……

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

 hsetnx key field value

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

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

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

查詢

查詢一個(key的field的value)

hget key field

查詢所有field

hkeys key

查詢所有value

hvals key

刪除【key的field】

刪除一個或多個

hdel key field1 field2……

不存在的字段將被忽略

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

hexists key field

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

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

hincrby key field increment

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

java操作redis的hash類型

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

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

批量存儲到指定key中

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

根據(jù)指定key判斷鍵是否存在,存在返回false不新增,不存在則新增鍵值對返回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中所有鍵值對得值

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

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

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

刪除

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

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

方法

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

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

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

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

獲取指定key得元素長度

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的存儲方式

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

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

相關(guān)文章

最新評論

特克斯县| 东山县| 威海市| 靖宇县| 封开县| 攀枝花市| 吴江市| 汝城县| 无极县| 鸡西市| 永定县| 吴川市| 茌平县| 筠连县| 万州区| 韩城市| 安仁县| 鱼台县| 灵台县| 凤山市| 成都市| 齐河县| 巴彦淖尔市| 阜新市| 章丘市| 东山县| 永宁县| 卫辉市| 曲靖市| 射阳县| 德保县| 迁安市| 东阿县| 鹤庆县| 阿拉善盟| 恩平市| 沧州市| 铜山县| 澄江县| 隆德县| 康保县|