【SpringBoot】解决redis 查找/删除缓存失败问题
使用
StringRedisTemplate.delete(key)
删除缓存数据失败,原因是序列化问题导致。
需要把key和hash都使用String的序列化方式
解决方法:
创建一个新的配置类:
@Configuration
public class RedisConfig {
/**
* 自定义Key为String类型Value为Object类型的Redis操作模板
*/
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory){
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(redisConnectionFactory);
// key采用String的序列化方式
redisTemplate.setKeySerializer(new StringRedisSerializer());
// hash的key也采用String的序列化方式
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
return redisTemplate;
}
}
重启项目后生效。
本文作者:Hello霖
本文链接:https://www.cnblogs.com/Hello233/p/16773266.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步