redisTemplate.keys(pattern)模糊查询找不到keys

来源:互联网 发布:mac 安装oracle数据库 编辑:程序博客网 时间:2024/05/22 01:52

在使用redisTemplate.keys查找keys时,发现明明相应的key是存在的,模糊查询就是查找不出来;原因有二:
1.确定你的查询字符串是否正确
2.就是的你key值有可能是乱码了就是遇到\xca\xed加上你key之类的乱码!例如:这里写图片描述
你需要重新定义key

 @Bean      public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {         RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>();         redisTemplate.setConnectionFactory(factory);         //key序列化方式;(不然会出现乱码;),但是如果方法上有Long等非String类型的话,会报类型转换错误;         //所以在没有自己定义key生成策略的时候,以下这个代码建议不要这么写,可以不配置或者自己实现ObjectRedisSerializer         //或者JdkSerializationRedisSerializer序列化方式;       RedisSerializer<String> redisSerializer = new StringRedisSerializer();//Long类型不可以会出现异常信息;       redisTemplate.setKeySerializer(redisSerializer);       redisTemplate.setHashKeySerializer(redisSerializer);         return redisTemplate;      }   

即可