色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

spring redis 如何實現模糊查找key

瀏覽:3日期: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
相關文章:
主站蜘蛛池模板: 欧美特黄一片aa大片免费看 | 91热久久免费频精品黑人99 | 成人免费视频一区 | 国产欧美一区二区精品性色 | 免费一级片网站 | 精品一区二区三区五区六区 | 日韩国产成人精品视频人 | 新版天堂中文资源官网 | 一级黄色免费网站 | 日韩欧美一级毛片视频免费 | 中文字幕在线看视频一区二区三区 | 手机看片高清国产日韩片 | 免费一区在线观看 | 久草在线看片 | 欧美性毛片大片 | 久久久免费的精品 | a毛片免费全部在线播放毛 a毛片免费视频 | 亚洲精品二区中文字幕 | 免费国产不卡午夜福在线观看 | 亚洲a在线播放 | 99久久精品国产亚洲 | 国产午夜精品久久久久免费视 | 久久国产精品影院 | 美女福利视频国产片 | 6080伦理久久精品亚洲 | 欧美日韩精品高清一区二区 | 免费观看日本视频 | 国产免费一级在线观看 | 毛片免费在线观看 | 国产younv真实 | 亚洲精品成人一区 | 国产亚洲一区二区手机在线观看 | 亚洲欧美一区二区三区孕妇 | 久草在线新视觉 | 日本一二线不卡在线观看 | 免费一级特黄欧美大片勹久久网 | 亚洲一区二区三区四区 | 国产大片在线观看 | 三级黄色片在线免费观看 | 日本一区二区三区在线 视频观看免费 | 欧美成人免费在线视频 |