国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

spring redis 如何實現模糊查找key

瀏覽:8日期:2023-06-26 11:57:03
spring redis 模糊查找key用法

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

* 任意多個字符

? 單個字符

[] 括號內的某1個字符

源碼

org.springframework.data.redis.core.RedisTemplatepublic 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導致性能消耗過大,減少服務器阻塞

可以通過count參數設置掃描的范圍

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中用戶收聽歷史被清空');

后來測試發現模糊查詢是可以用的, 刪除改成

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

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 成人伊人青草久久综合网 | 日韩欧美国产另类 | 亚洲人成亚洲人成在线观看 | 2020精品极品国产色在线观看 | 99爱在线观看精品视频 | 免费国产a国产片高清不卡 免费国产不卡午夜福在线 免费国产不卡午夜福在线观看 | 理论片亚洲 | 欧美成网 | 在线播放日韩 | 国产精品欧美韩国日本久久 | 国产欧美精品一区二区三区四区 | 亚洲精品网址 | 免费看成人 | 一区二区国产精品 | 9l国产精品久久久久麻豆 | 欧美整片在线观看 | 亚洲精品免费在线 | 操出白浆视频 | 欧美一区=区三区 | 黄在线观看网站 | 成人毛片免费播放 | 久久久国产一区二区三区 | 失禁h啪肉尿出来高h男男 | 九九视频在线观看6 | www.黄色大片 | 收集最新中文国产中文字幕 | 国产精品久久久久久久9999 | 97夜夜操| 最近中文在线中文 | 上海一级毛片 | a级免费网站| 99精品视频一区在线观看miya | 草久在线观看视频 | 国产精品拍自在线观看 | 中文字幕在线视频在线看 | 亚洲性久久久影院 | 欧美视频在线观看免费精品欧美视频 | 亚洲刺激视频 | 欧美视频第一页 | 国产精品18久久久久久小说 | 一本久久精品一区二区 |