本文测试环境: Spring Boot 2.1.4.RELEASE + Redis 5.0.4 + CentOS 7
让程序先 run 起来
安装及配置 Redis
参考: How To Install and Configure Redis on CentOS 7
新建 Spring Boot 项目并添加依赖
1 | <dependency> |
添加 Redis 配置
1 | spring: |
测试代码
1 | @Component |

更进一步
上文中我们与 Redis 交互使用的是 Spring 封装的 StringRedisTemplate, 源码:
1 | public class StringRedisTemplate extends RedisTemplate<String, String> { |
可以看到 StringRedisTemplate 继承自 RedisTemplate 并在构造函数中设置了 key 和 value 的 Serializer (RedisTemplate 默认使用的是 JdkSerializationRedisSerializer, 在 RedisTemplate 源码中可以看到)
RedisSerializer 源码:
1 | public interface RedisSerializer<T> { |
Spring 同时也封装了几种 Serializer, 如 JdkSerializationRedisSerializer, GenericJackson2JsonRedisSerializer, StringRedisSerializer 等,详见下图:

自定义 RedisTemplate
添加依赖
1 | <dependency> |
配置 Serializer
下面代码分别使用了 GenericJackson2JsonRedisSerializer 和 Jackson2JsonRedisSerializer
1 | @Configuration |
测试
1 | @Component |
P.S. 用冒号作为分割在 Redis 中是设计 key 的一种不成文原则
源码:GitHub
本人 C# 转 Java 的 newbie, 如果错误或不足欢迎指正,谢谢
参考: