RedisTemplate 泛型
时间: 2023-07-08 21:46:38 浏览: 143
RedisTemplate 用法
RedisTemplate 是 Spring Data Redis 提供的一个 Redis 操作模板类,它封装了 Redis 的操作方法,并且提供了类型转换器等功能,可以方便地进行 Redis 数据的存储和查询操作。
RedisTemplate 是一个泛型类,它有两个类型参数:keyType 和 valueType。这两个类型参数分别指定了 Redis 中键和值的类型。通常情况下,我们可以将它们指定为 String 和 Object,这样就可以存储任意类型的对象了。
下面是一个使用 RedisTemplate 存储和查询数据的示例代码:
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void saveUser(User user) {
redisTemplate.opsForValue().set("user:" + user.getId(), user);
}
public User getUser(Long id) {
return (User) redisTemplate.opsForValue().get("user:" + id);
}
```
在上面的代码中,我们使用 RedisTemplate 存储了一个 User 对象,并根据 User 对象的 id 属性作为 Redis 键。在查询数据时,我们直接使用 RedisTemplate 的 `opsForValue().get()` 方法获取键对应的值,并将其转换为 User 对象。
需要注意的是,在使用 RedisTemplate 存储和查询数据时,我们需要对数据进行序列化和反序列化操作。RedisTemplate 默认使用的是 JdkSerializationRedisSerializer 序列化器,它可以将对象序列化为二进制数组进行存储。如果需要使用其他的序列化器,可以通过 RedisTemplate 的 setKeySerializer 和 setValueSerializer 方法进行设置。
阅读全文