JSON 序列化的 Redis 配置类,RedisConfig.java
挺实用的,是在你想避免中文乱码时。它用的是 Jackson 来对象序列化,还加了些配置,像是ObjectMapper
的可见性设置、关闭时间戳转换这些,兼容性挺好。
这种配置在实际开发里还挺常见,比如你用 Redis 做缓存,存储对象时如果不自定义序列化方式,默认用的是 JDK 序列化,体积大不说,跨服务用起来还费劲。用 JSON 就轻了不少,响应也快,兼容也好。
如果你和我一样,踩过 Redis 乱码的坑,那这种RedisTemplate
的自定义配置真得用上,不然存进去一堆问号,调试都想哭。代码结构也清爽,配置类就放在config
包里,分层也清楚。
除了 Jackson,其实也可以试试 Fastjson 或者 Gson,不过 Jackson 扩展性和 Spring 集成更自然,像默认注册的模块啊,日期格式的控制啥的,配置起来不麻烦。记得 Spring Boot 版本最好别太低,不然某些模块支持不太好。
你如果用得还不太熟,可以看看这些相关文章:HBaseSink 自定义序列化类、Matlab 结构转 JSON,还有乱码解读这种老文章,也挺能帮你理清思路的。
提醒一句,如果你打算在高并发场景里用 Redis 缓存复杂对象,别忘了好反序列化异常,不然分分钟打爆你的日志。