RedisTemplate 和 StringRedisTemplate 都提供了一些操作 Redis 的模板方法,但是两者之间是有一些区别的
从上图中可以看出,StringRedisTemplate 是继承了 RedisTemplate 的,RedisTemplate 有一个成员变量 defaultSerializer
-
RedisTemplate的序列化采用的是JdkSerializationRedisSerializer,在存储到 Redis 的时候会将 对象 序列化为 字节数组
-
StringRedisTemplate的序列化采用的是StringRedisSerializer,适用于存储的 value 为 String 的情况
RedisTemplate的以字符串为中心的扩展。 由于针对Redis的大多数操作都是基于String的,因此该类提供了一个专用类,可以最小化其更通用的{@link RedisTemplate模板}的配置,尤其是在序列化器方面。
结论:
1、Redis 中存储对象使用 RedisTemplate ,存储字符串使用 StringRedisTemplate
更多参考:
1、关于RedisTemplate和StringRedisTemplate
https://blog.csdn.net/notsaltedfish/article/details/75948281