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

redistemplate下opsForHash操作示例

 更新時(shí)間:2023年07月17日 09:43:09   作者:一片秋葉一樹春  
這篇文章主要為大家介紹了redistemplate下opsForHash操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1、put(H key, HK hashKey, HV value)

新增hashMap值

redisTemplate.opsForHash().put("hashValue","map1","map1-1");  
redisTemplate.opsForHash().put("hashValue","map2","map2-2");

2、values(H key)

獲取指定變量中的hashMap值。

List<Object> hashList = redisTemplate.opsForHash().values("hashValue");  
System.out.println("通過(guò)values(H key)方法獲取變量中的hashMap值:" + hashList);

3、entries(H key)

獲取變量中的鍵值對(duì)。

Map<Object,Object> map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通過(guò)entries(H key)方法獲取變量中的鍵值對(duì):" + map);

4、get(H key, Object hashKey)

獲取變量中的指定map鍵是否有值,如果存在該map鍵則獲取值,沒(méi)有則返回null。

Object mapValue = redisTemplate.opsForHash().get("hashValue","map1");  
System.out.println("通過(guò)get(H key, Object hashKey)方法獲取map鍵的值:" + mapValue);

5、hasKey(H key, Object hashKey)

判斷變量中是否有指定的map鍵。

boolean hashKeyBoolean = redisTemplate.opsForHash().hasKey("hashValue","map3");  
System.out.println("通過(guò)hasKey(H key, Object hashKey)方法判斷變量中是否存在map鍵:" + hashKeyBoolean);

6、keys(H key)

獲取變量中的鍵。

Set<Object> keySet = redisTemplate.opsForHash().keys("hashValue");  
System.out.println("通過(guò)keys(H key)方法獲取變量中的鍵:" + keySet);

7、size(H key)

獲取變量的長(zhǎng)度。

long hashLength = redisTemplate.opsForHash().size("hashValue");  
System.out.println("通過(guò)size(H key)方法獲取變量的長(zhǎng)度:" + hashLength);

8、increment(H key, HK hashKey, double delta)

使變量中的鍵以double值的大小進(jìn)行自增長(zhǎng)。

double hashIncDouble = redisTemplate.opsForHash().increment("hashInc","map1",3);  
System.out.println("通過(guò)increment(H key, HK hashKey, double delta)方法使變量中的鍵以值的大小進(jìn)行自增長(zhǎng):" + hashIncDouble);

9、increment(H key, HK hashKey, long delta)

使變量中的鍵以long值的大小進(jìn)行自增長(zhǎng)。

long hashIncLong = redisTemplate.opsForHash().increment("hashInc","map2",6);  
System.out.println("通過(guò)increment(H key, HK hashKey, long delta)方法使變量中的鍵以值的大小進(jìn)行自增長(zhǎng):" + hashIncLong);

10、multiGet(H key, Collection<HK> hashKeys)

以集合的方式獲取變量中的值。

List<Object> list = new ArrayList<Object>();  
list.add("map1");  
list.add("map2");  
List mapValueList = redisTemplate.opsForHash().multiGet("hashValue",list);  
System.out.println("通過(guò)multiGet(H key, Collection<HK> hashKeys)方法以集合的方式獲取變量中的值:"+mapValueList);

11、putAll(H key, Map<? extends HK,? extends HV> m)

以map集合的形式添加鍵值對(duì)。

Map newMap = new HashMap();  
newMap.put("map3","map3-3");  
newMap.put("map5","map5-5");  
redisTemplate.opsForHash().putAll("hashValue",newMap);  
map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通過(guò)putAll(H key, Map<? extends HK,? extends HV> m)方法以map集合的形式添加鍵值對(duì):" + map);

12、putIfAbsent(H key, HK hashKey, HV value)

如果變量值存在,在變量中可以添加不存在的的鍵值對(duì),如果變量不存在,則新增一個(gè)變量,同時(shí)將鍵值對(duì)添加到該變量。
 

redisTemplate.opsForHash().putIfAbsent("hashValue","map6","map6-6");  
map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通過(guò)putIfAbsent(H key, HK hashKey, HV value)方法添加不存在于變量中的鍵值對(duì):" + map);

13、scan(H key, ScanOptions options)

匹配獲取鍵值對(duì),ScanOptions.NONE為獲取全部鍵對(duì),ScanOptions.scanOptions().match("map1").build()     匹配獲取鍵位map1的鍵值對(duì),不能模糊匹配。

Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.scanOptions().match("map1").build());  
//Cursor<Map.Entry<Object,Object>> cursor = redisTemplate.opsForHash().scan("hashValue",ScanOptions.NONE);  
while (cursor.hasNext()){  
    Map.Entry<Object,Object> entry = cursor.next();  
    System.out.println("通過(guò)scan(H key, ScanOptions options)方法獲取匹配鍵值對(duì):" + entry.getKey() + "---->" + entry.getValue());  
}

14、delete(H key, Object... hashKeys)

刪除變量中的鍵值對(duì),可以傳入多個(gè)參數(shù),刪除多個(gè)鍵值對(duì)。

redisTemplate.opsForHash().delete("hashValue","map1","map2");  
map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通過(guò)delete(H key, Object... hashKeys)方法刪除變量中的鍵值對(duì)后剩余的:" + map);

15.緩存菜單的操作

public List<Menu> selectMenus() throws Exception {
Collection<String> menujsons = redisTemplate.opsForHash().entries("menuList").values();
    //查看緩存是否存在菜單
    if (menujsons != null && menujsons.size() != 0) {
        List<Menu> menuList = new ArrayList<>();
        menujsons.forEach(a -> menuList.add(JSONObject.parseObject(a, Menu.class)));
        //緩存取出數(shù)據(jù)排序
        Collections.sort(menuList, Comparator.comparing(BaseEntity::getId));
        return menuList;
    }
    //不存在 數(shù)據(jù)庫(kù)中查詢并存入緩存 返回
    List<Menu> allMenu = getMapper().selectMenus();
    if(CollectionUtils.isNotEmpty(allMenu)){
        allMenu.forEach(m -> redisTemplate.opsForHash().put("menuList", m.getId().toString(), JSONObject.toJSONString(m)));
    }
    return allMenu;
}

以上就是redistemplate下opsForHash操作示例的詳細(xì)內(nèi)容,更多關(guān)于redistemplate opsForHash操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 遠(yuǎn)程連接阿里云服務(wù)器上的redis報(bào)錯(cuò)的問(wèn)題解決

    遠(yuǎn)程連接阿里云服務(wù)器上的redis報(bào)錯(cuò)的問(wèn)題解決

    本文主要介紹了遠(yuǎn)程連接阿里云服務(wù)器上的redis報(bào)錯(cuò)的問(wèn)題,出現(xiàn)?Redis Client On Error: Error: connect ECONNREFUSED 47.100.XXX.XX:6379?錯(cuò)誤,下面就來(lái)介紹一下解決方法,感興趣的可以了解一下
    2025-04-04
  • 解決redis sentinel 頻繁主備切換的問(wèn)題

    解決redis sentinel 頻繁主備切換的問(wèn)題

    這篇文章主要介紹了解決redis sentinel 頻繁主備切換的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • Redis IP地址的綁定的實(shí)現(xiàn)

    Redis IP地址的綁定的實(shí)現(xiàn)

    這篇文章主要介紹了Redis IP地址的綁定的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • redis大key和大value的危害及解決

    redis大key和大value的危害及解決

    本文主要介紹了redis大key和大value的危害及解決
    2024-03-03
  • 面試常問(wèn):如何保證Redis緩存和數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性

    面試常問(wèn):如何保證Redis緩存和數(shù)據(jù)庫(kù)的數(shù)據(jù)一致性

    在實(shí)際開發(fā)過(guò)程中,緩存的使用頻率是非常高的,只要使用緩存和數(shù)據(jù)庫(kù)存儲(chǔ),就難免會(huì)出現(xiàn)雙寫時(shí)數(shù)據(jù)一致性的問(wèn)題,那我們又該如何解決呢
    2021-09-09
  • redis 億級(jí)數(shù)據(jù)讀取的實(shí)現(xiàn)

    redis 億級(jí)數(shù)據(jù)讀取的實(shí)現(xiàn)

    本文主要介紹了redis 億級(jí)數(shù)據(jù)讀取的實(shí)現(xiàn),億級(jí)數(shù)據(jù)規(guī)模下實(shí)現(xiàn)高效的數(shù)據(jù)讀取成為了許多企業(yè)和開發(fā)者面臨的重大挑戰(zhàn),下面就來(lái)介紹一下,感興趣的可以了解一下
    2024-08-08
  • redis配置文件中常用配置詳解

    redis配置文件中常用配置詳解

    這篇文章主要介紹了redis配置文件中常用配置詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Redis分布式鎖如何實(shí)現(xiàn)續(xù)期

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

    這篇文章主要介紹了Redis分布式鎖如何實(shí)現(xiàn)續(xù)期的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • redis中的bitmap你了解嗎

    redis中的bitmap你了解嗎

    這篇文章主要為大家詳細(xì)介紹了redis中的bitmap,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • redis3.2配置文件redis.conf詳細(xì)說(shuō)明

    redis3.2配置文件redis.conf詳細(xì)說(shuō)明

    redis3.2配置詳解,Redis啟動(dòng)的時(shí)候,可以指定配置文件,詳細(xì)說(shuō)明請(qǐng)看本文說(shuō)明
    2018-03-03

最新評(píng)論

忻城县| 衡水市| 沙雅县| 汤阴县| 静宁县| 马鞍山市| 阿拉善盟| 武义县| 大田县| 永嘉县| 土默特左旗| 平安县| 库伦旗| 新和县| 浦县| 江孜县| 察雅县| 罗江县| 蕉岭县| 牡丹江市| 柏乡县| 镇赉县| 维西| 龙州县| 正蓝旗| 改则县| 泰宁县| 子长县| 湖口县| 西吉县| 奉新县| 华池县| 岗巴县| 甘南县| 道孚县| 游戏| 凉山| 永城市| 富平县| 昌图县| 贞丰县|