因需要清理redis缓存,然后我们存的key是动态的,比如 redisKey+aId+bId,value  这种,所以需要用到模糊查询出来再清除。

网上一顿操作,就你了:

Redisson.getLock获取不到锁会抛出异常吗 redis获取不到数据_数据

 

 结果发现数据查询不出来,即使刚插入的数据也显示不了,只能查固定数据,模糊的查不到!接下来改了几个版本如:

Redisson.getLock获取不到锁会抛出异常吗 redis获取不到数据_数据_02

 

 依然没有数据,看网上似乎都没遇到这种问题啊。

 

最后换了另一种写法解决:

Cursor<Map.Entry<Object,Object>>  cursor = (Cursor<Map.Entry<Object,Object>>)redisTemplate.execute((RedisCallback<Cursor<byte[]>>) connection ->
        connection.scan(ScanOptions.scanOptions().match(key + "*").count(5000).build()));
虽然解决了问题,依然不明白为什么redisTemplate自带的scan方法不行。