午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

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

解決spring中redistemplate不能用通配符keys查出相應Key的問題

瀏覽:130日期:2023-07-31 13:09:23

有個業務中需要刪除某個前綴的所有Redis緩存,于是用RedisTemplate的keys方法先查出所有合適的key,再遍歷刪除。

但是在keys(patten+'*')時每次取出的都為空。

解決問題:

spring中redis配置中,引入StringRedisTemplate而不是RedisTemplate,StringRedisTemplate本身繼承自RedisTemplate,

<bean class='org.springframework.data.redis.core.RedisTemplate'><property name='connectionFactory' ref='connectionFactory' /></bean>

改為

<bean class='org.springframework.data.redis.core.StringRedisTemplate'><property name='connectionFactory' ref='connectionFactory' /></bean>

補充知識:RedisTemplate使用SCAN命令掃描key替代KEYS避免redis服務器阻塞,無坑!完美解決方案

先來鄙視下博客上很多人不懂瞎幾把亂說還有大量轉載誤導群眾,本文原創親自驗證方案。

話不多說先上代碼,拿走即用。

long start = System.currentTimeMillis(); //需要匹配的key String patternKey = 'pay:*'; ScanOptions options = ScanOptions.scanOptions() //這里指定每次掃描key的數量(很多博客瞎說要指定Integer.MAX_VALUE,這樣的話跟 keys有什么區別?) .count(10000) .match(patternKey).build(); RedisSerializer<String> redisSerializer = (RedisSerializer<String>) redisTemplate.getKeySerializer(); Cursor cursor = (Cursor) redisTemplate.executeWithStickyConnection(redisConnection -> new ConvertingCursor<>(redisConnection.scan(options), redisSerializer::deserialize)); List<String> result = new ArrayList<>(); while(cursor.hasNext()){ result.add(cursor.next().toString()); } //切記這里一定要關閉,否則會耗盡連接數。報Cannot get Jedis connection; nested exception is redis.clients.jedis.exceptions.JedisException: Could not get a cursor.close(); log.info('scan掃描共耗時:{} ms key數量:{}',System.currentTimeMillis()-start,result.size());

以上這篇解決spring中redistemplate不能用通配符keys查出相應Key的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 天天干天天操天天插 | 91久久久久久久久 | 国产精品一区久久久 | 欧美一区二区三区激情视频 | 1级黄色大片 | 三级视频在线看 | 黄色免费av| 天天草视频 | 97视频免费观看 | 亚洲欧洲日韩 | 女同性αv亚洲女同志 | 精品毛片在线观看 | 中文字幕亚洲视频 | 日本在线观看www | 久热在线视频 | 亚洲一区二区三区三州 | 日韩av在线播放观看 | 国产亚洲精品久久久久久 | 日韩欧美在线观看 | 日韩精品福利视频 | 色综合色综合 | 激情午夜天 | 麻豆视频在线观看免费网站黄 | 伊人成综合 | 精品久久一区 | 欧洲在线视频 | 成人免费在线视频观看 | 亚洲丝袜av | 久久免费国产 | 欧美 唯美 清纯 偷拍 | 免费一级a毛片夜夜看 | 视色网站 | 欧美大片高清免费观看 | 亚洲九九热 | 超碰在线97观看 | 日韩精品系列 | 高清av在线 | 国产a免费| 天天操天天看 | 午夜丁香婷婷 | 青青草原亚洲 |