引入依赖
这个是参照若依的,如果没有统一的版本规定的话,这里是需要写版本号的
xml
<!-- redis 缓存操作 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
定义redis的配置类型
- 配置类必须加上注解:
@Configuration
,告诉bean容器这是一个配置类- 类中必须有一个方法,返回redis模板的实例对象,此方法必须有一个注解:
@Bean
,以后使用RedisTemplate 类型的变量注入
的时候,就会调用这个方法返回的类实例对象
java
/**
* redis配置
*/
@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport
{
@Bean
@SuppressWarnings(value = { "unchecked", "rawtypes" })
public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory connectionFactory)
{
RedisTemplate<Object, Object> template = new RedisTemplate<>();
template.setConnectionFactory(connectionFactory);
FastJson2JsonRedisSerializer serializer = new FastJson2JsonRedisSerializer(Object.class);
// 使用StringRedisSerializer来序列化和反序列化redis的key值
template.setKeySerializer(new StringRedisSerializer());
template.setValueSerializer(serializer);
// Hash的key也采用StringRedisSerializer的序列化方式
template.setHashKeySerializer(new StringRedisSerializer());
template.setHashValueSerializer(serializer);
template.afterPropertiesSet();
return template;
}
}
使用redisTemplate
使用之前需要先注入一下
java
@Autowired
private RedisTemplate redisTemplate;
增
- 被写入的对象必须支持序列化,所有需要实现接口
Serializable
- 主键
- 内容
- 时长
- 时长单位
java
redisTemplate.opsForValue().set(redisKey,new ShiftDto(proDate,shiftId),30, TimeUnit.MINUTES);
删
- 主键
bash
redisTemplate.delete(redisKey);
查
- 主键
java
redisTemplate.hasKey(redisKey)
参考文章
https://blog.csdn.net/weixin_51496936/article/details/131469971