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

spring redis 如何實現(xiàn)模糊查找key

 更新時間:2021年08月10日 15:52:03   作者:路過君_P  
這篇文章主要介紹了spring redis 如何實現(xiàn)模糊查找key的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

spring redis 模糊查找key

用法

Set<String> keySet = stringRedisTemplate.keys("keyprefix:"+"*");
  • 需要使用StringRedisTemplate,或自定義keySerializer為StringRedisSerializer的redisTemplate
  • redis里模糊查詢key允許使用的通配符:

     * 任意多個字符

     ? 單個字符

     [] 括號內(nèi)的某1個字符

源碼

org.springframework.data.redis.core.RedisTemplate
public Set<K> keys(K pattern) {
 byte[] rawKey = rawKey(pattern);
 Set<byte[]> rawKeys = execute(connection -> connection.keys(rawKey), true);
 return keySerializer != null ? SerializationUtils.deserialize(rawKeys, keySerializer) : (Set<K>) rawKeys;
}

改善

  • Redis2.8以后可以使用scan獲取key
  • 基于游標迭代分次遍歷key,不會一次性掃描所有key導致性能消耗過大,減少服務(wù)器阻塞

可以通過count參數(shù)設(shè)置掃描的范圍

Set<String> keys = new LinkedHashSet<>();
stringRedisTemplate.execute((RedisConnection connection) -> {
    try (Cursor<byte[]> cursor = connection.scan(
            ScanOptions.scanOptions()
                    .count(Long.MAX_VALUE)
                    .match(pattern)
                    .build()
    )) {
        cursor.forEachRemaining(item -> {
            keys.add(RedisSerializer.string().deserialize(item));
        });
        return null;
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
});

Reids SCAN命令官方文檔

redis-redisTemplate模糊匹配刪除

 String key = "noteUserListenedPoi:*";
            redisTemplate.delete(key);
            LOGGER.info("redis中用戶收聽歷史被清空");

后來測試發(fā)現(xiàn)模糊查詢是可以用的, 刪除改成

Set<String> keys = redisTemplate.keys("noteUserListenedPoi:" + "*");
            redisTemplate.delete(keys);
            LOGGER.info("{}, redis中用戶收聽歷史被清空"

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JFreeChart簡單實現(xiàn)光滑曲線繪制

    JFreeChart簡單實現(xiàn)光滑曲線繪制

    這篇文章主要為大家詳細介紹了JFreeChart簡單實現(xiàn)光滑曲線的繪制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • SpringBoot實現(xiàn)異步的八種方法

    SpringBoot實現(xiàn)異步的八種方法

    Spring Boot 的異步處理主要是通過非阻塞I/O和回調(diào)機制來實現(xiàn)的,目的是提高應(yīng)用的并發(fā)性能,它支持多種方式來創(chuàng)建異步任務(wù),本文給大家介紹了SpringBoot實現(xiàn)異步的八種方法,需要的朋友可以參考下
    2024-07-07
  • Spring與Struts整合之讓Spring管理控制器操作示例

    Spring與Struts整合之讓Spring管理控制器操作示例

    這篇文章主要介紹了Spring與Struts整合之讓Spring管理控制器操作,結(jié)合實例形式詳細分析了Spring管理控制器相關(guān)配置、接口實現(xiàn)與使用技巧,需要的朋友可以參考下
    2020-01-01
  • 關(guān)于Filter中獲取請求體body后再次讀取的問題

    關(guān)于Filter中獲取請求體body后再次讀取的問題

    這篇文章主要介紹了關(guān)于Filter中獲取請求體body后再次讀取的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java編程使用卡片布局管理器示例【基于swing組件】

    Java編程使用卡片布局管理器示例【基于swing組件】

    這篇文章主要介紹了Java編程使用卡片布局管理器,結(jié)合實例形式分析了java基于swing組件的卡片布局管理器具體實現(xiàn)與使用技巧,需要的朋友可以參考下
    2018-01-01
  • mybatis對于list更新sql語句的寫法說明

    mybatis對于list更新sql語句的寫法說明

    這篇文章主要介紹了mybatis對于list更新sql語句的寫法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • springcloud之Feign超時問題的解決

    springcloud之Feign超時問題的解決

    這篇文章主要介紹了springcloud之Feign超時問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Java切面(Aspect)的多種實現(xiàn)方式

    Java切面(Aspect)的多種實現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于Java切面(Aspect)的多種實現(xiàn)方式,在Java開發(fā)中切面(Aspect)是一種常用的編程方式,用于實現(xiàn)橫切關(guān)注點(cross-cutting concern),需要的朋友可以參考下
    2023-08-08
  • java  自定義注解的實例詳解

    java 自定義注解的實例詳解

    這篇文章主要介紹了java 自定義注解的實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-09-09
  • SpringBoot+hutool實現(xiàn)圖片驗證碼

    SpringBoot+hutool實現(xiàn)圖片驗證碼

    本文主要介紹了SpringBoot+hutool實現(xiàn)圖片驗證碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08

最新評論

蕉岭县| 井陉县| 那曲县| 东乡族自治县| 镇平县| 奎屯市| 柏乡县| 台安县| 土默特右旗| 富民县| 双流县| 正安县| 昭觉县| 平阴县| 新巴尔虎右旗| 龙门县| 团风县| 鹤山市| 姜堰市| 新兴县| 黔江区| 安岳县| 包头市| 阜平县| 金乡县| 永春县| 双鸭山市| 高邑县| 乌兰浩特市| 盐亭县| 米易县| 合江县| 建阳市| 平度市| 乡宁县| 银川市| 泰兴市| 永昌县| 绥化市| 乐昌市| 湖口县|