redistemplate各种使用方法案例
时间: 2023-08-16 14:17:27 浏览: 109
RedisTemplate 是 Spring Data Redis 提供的一个 Redis 客户端工具,它封装了 Redis 的操作方法,提供了一些方便的方法供开发者使用。下面是 RedisTemplate 的一些使用方法案例:
1. 设置 RedisTemplate 的序列化方式
RedisTemplate 默认使用的是 JdkSerializationRedisSerializer 序列化方式,可以通过以下方式设置自定义的序列化方式:
```java
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(connectionFactory);
// 设置 key 序列化方式
redisTemplate.setKeySerializer(new StringRedisSerializer());
// 设置 value 序列化方式
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
return redisTemplate;
}
}
```
2. 存储数据到 Redis
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void save(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
```
3. 从 Redis 中获取数据
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
```
4. 删除 Redis 中的数据
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void delete(String key) {
redisTemplate.delete(key);
}
```
5. 批量操作 Redis
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void batchSave(Map<String, Object> map) {
redisTemplate.executePipelined((RedisCallback<Object>) connection -> {
map.forEach((key, value) -> {
redisTemplate.opsForValue().set(key, value);
});
return null;
});
}
```
以上是 RedisTemplate 的一些使用方法案例,根据实际需求可以选择合适的方法进行使用。
阅读全文