Redistemplate 序列化
时间: 2023-09-13 09:09:31 浏览: 83
redisTemplate封装成redisUtils和分布式锁实现
Redistemplate 可以序列化对象,并将其存储在 Redis 中。序列化是将对象转换为字节流的过程,以便它可以在网络或文件系统中进行传输或存储。在 Redis 中,序列化是将对象转换为 Redis 协议格式的字符串。
Redistemplate 支持多种序列化方式,包括 JDK 序列化、JSON 序列化、Protobuf 序列化等。默认情况下,Redistemplate 使用 JDK 序列化方式。
在使用 Redistemplate 时,需要将需要存储的对象先进行序列化,然后再将序列化后的字节流存储到 Redis 中。在获取对象时,则需要先从 Redis 中读取字节流,然后将其反序列化为原始对象。
以下是示例代码:
```java
// 定义一个需要存储的对象
class User {
private String name;
private int age;
// getter 和 setter 方法省略
}
// 在 Redistemplate 中使用 JSON 序列化方式
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, User> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, User> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setDefaultSerializer(new Jackson2JsonRedisSerializer<>(User.class));
return template;
}
}
// 存储对象
User user = new User();
user.setName("Alice");
user.setAge(18);
redisTemplate.opsForValue().set("user", user);
// 获取对象
User user = redisTemplate.opsForValue().get("user");
```
阅读全文