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

redistemplate下opsForHash操作示例

 更新時間: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("通過values(H key)方法獲取變量中的hashMap值:" + hashList);

3、entries(H key)

獲取變量中的鍵值對。

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

4、get(H key, Object hashKey)

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

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

5、hasKey(H key, Object hashKey)

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

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

6、keys(H key)

獲取變量中的鍵。

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

7、size(H key)

獲取變量的長度。

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

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

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

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

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

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

long hashIncLong = redisTemplate.opsForHash().increment("hashInc","map2",6);  
System.out.println("通過increment(H key, HK hashKey, long delta)方法使變量中的鍵以值的大小進(jìn)行自增長:" + 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("通過multiGet(H key, Collection<HK> hashKeys)方法以集合的方式獲取變量中的值:"+mapValueList);

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

以map集合的形式添加鍵值對。

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("通過putAll(H key, Map<? extends HK,? extends HV> m)方法以map集合的形式添加鍵值對:" + map);

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

如果變量值存在,在變量中可以添加不存在的的鍵值對,如果變量不存在,則新增一個變量,同時將鍵值對添加到該變量。
 

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

13、scan(H key, ScanOptions options)

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

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("通過scan(H key, ScanOptions options)方法獲取匹配鍵值對:" + entry.getKey() + "---->" + entry.getValue());  
}

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

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

redisTemplate.opsForHash().delete("hashValue","map1","map2");  
map = redisTemplate.opsForHash().entries("hashValue");  
System.out.println("通過delete(H key, Object... hashKeys)方法刪除變量中的鍵值對后剩余的:" + 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ù)庫中查詢并存入緩存 返回
    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操作的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

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

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

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

    解決redis sentinel 頻繁主備切換的問題

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

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

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

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

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

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

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

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

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

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

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

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

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

    redis中的bitmap你了解嗎

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

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

    redis3.2配置詳解,Redis啟動的時候,可以指定配置文件,詳細(xì)說明請看本文說明
    2018-03-03

最新評論

澜沧| 南召县| 宝坻区| 瑞金市| 新营市| 科技| 呼图壁县| 乌拉特前旗| 安化县| 华容县| 广安市| 章丘市| 浙江省| 开鲁县| 焉耆| 新泰市| 瓦房店市| 青河县| 梅州市| 砀山县| 民乐县| 启东市| 于田县| 隆尧县| 鲁山县| 个旧市| 文安县| 钟祥市| 拉萨市| 东辽县| 都昌县| 保靖县| 波密县| 石林| 铜鼓县| 县级市| 抚松县| 株洲市| 渭源县| 靖州| 密山市|