spring工具类RedisTemplate
时间: 2024-05-01 14:21:12 浏览: 106
RedisTemplate工具类
RedisTemplate 是 Spring Data Redis 提供的一个 Redis 客户端工具类,它封装了 Redis 的常见操作,方便开发人员对 Redis 数据存储进行操作。RedisTemplate 提供了对 Redis 的五种数据结构(字符串、哈希表、列表、集合、有序集合)的支持。通过 RedisTemplate,可以实现对 Redis 的基本操作,如 get、set、incr、decr、hget、hset、lpush、rpush、sadd、zadd 等操作,以及对 Redis 支持的事务、Lua 脚本等高级功能的调用。
使用 RedisTemplate,需要先配置 Redis 连接池和 RedisTemplate 的实例,然后通过注入 RedisTemplate 实例来操作 Redis 数据。下面是一个简单的 RedisTemplate 配置示例:
```java
@Configuration
public class RedisConfig {
@Bean
public JedisPool jedisPool() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(100);
jedisPoolConfig.setMaxIdle(20);
jedisPoolConfig.setMaxWaitMillis(10000);
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
return jedisPool;
}
@Bean
public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
redisTemplate.setConnectionFactory(jedisConnectionFactory);
redisTemplate.setKeySerializer(new StringRedisSerializer());
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
redisTemplate.setHashValueSerializer(new Jackson2JsonRedisSerializer<>(Object.class));
return redisTemplate;
}
}
```
在上面的配置中,我们通过 JedisPool 创建了 JedisConnectionFactory 实例,然后将其注入到 RedisTemplate 中,并设置了序列化方式。这里我们使用了 Jackson2JsonRedisSerializer 作为序列化方式,可以将对象序列化为 JSON 格式存储到 Redis 中。最后,我们将自定义的 RedisTemplate 注入到需要使用的类中即可。
阅读全文