.yml设置redis序列化和反序列化方式
时间: 2024-12-05 14:15:14 浏览: 19
SpringBoot2.3整合redis缓存自定义序列化的实现
5星 · 资源好评率100%
在Spring Boot中,如果你想要配置Redis的序列化和反序列化策略,通常是在`application.yml`或`.properties`文件中进行配置,涉及到的是`spring.data.redis`部分。这里主要关注的是`spring.redis.serializer`属性:
1. **Jackson2JsonRedisSerializer**:默认的Spring Data Redis使用了Jackson库处理JSON格式的数据序列化。如果你希望继续使用JSON,保持这个默认配置即可。
```yaml
spring:
data:
redis:
serializer:
type: Jackson2JsonRedisSerializer
```
2. **StringRedisSerializer**:如果只需要简单的字符串序列化,可以指定为`StringRedisSerializer`。
```yaml
spring:
data:
redis:
serializer:
key-value:
string: org.springframework.data.redis.serializer.StringRedisSerializer
```
3. **JdkSerializationRedisSerializer** 或 **LettuceKryoNativeMessageSerializerFactory**:对于性能优化,可以考虑使用Java自带的序列化方式(`JdkSerializationRedisSerializer`),或者Lettuce库提供的基于Kryo的序列化(适用于较新的版本)。
```yaml
spring:
data:
redis:
serializer:
type: JdkSerializationRedisSerializer
# 或者
spring:
data:
redis:
lettuce:
message-serializer: org.springframework.data.redis.nio.lettuce.LettuceFramingByteArrayMessageSerializer
```
4. **Hession2JsonRedisSerializer**:如果你的应用之前使用了Hessian序列化,可以配置成Hession。
```yaml
spring:
data:
redis:
serializer:
type: com.caucho.hessian2.Hessian2JsonRedisSerializer
```
记得在启用新序列化方案前,先确保你的数据能够被目标序列化器正确解析。
阅读全文