配置
maven项目进入相关配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
配置文件添加redis配置
Application.properties
设置redis序列化方式
@Bean
public RedisTemplate setRedisTemplate(@Autowired RedisTemplate redisTemplate){
StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
redisTemplate.setKeySerializer(stringRedisSerializer);
redisTemplate.setHashKeySerializer(stringRedisSerializer);
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
return redisTemplate;
}
设置redis key的实效时长
@Bean
public CacheManager cacheManager(@Autowired RedisTemplate redisTemplate){
RedisCacheManager redisCacheManager=new RedisCacheManager(redisTemplate);
具体使用
注解形式使用缓存
@Cacheable(value="test",key="#p0",nuless="#result==null")
public String getTest(String parameter) {
if(parameter!=null){
return parameter;
}
return null;
}
value属性表示当前方法的返回值是会被缓存在哪个Cache上
key属性表示getTest方法返回结果时对应的key的
key的不同使用方式
key="#p0",key="p0.id",key="#parameter.trim()"
nulless属性表示为忽略缓存,当方法的返回值达到我们预期的结果的时候可以设置为不添加缓存,以上例子为返回为null不添加缓存
注解形式删除缓存
@CacheEvict(value = "pullDownList",key = "#parameter.trim()")
public boolean refresh(String parameter){
return true;
}
value要删除的cache key要删除的缓存的key
RedisTemplate使用redis
1.使用spring注入进来一个redis
@Autowired
private RedisTemplate redisTemplate;
2.获得一个要redis储存/获取的key,value的类型
ValueOperations<String,String> valueOperations = redisTemplate.opsForValue();
valueOperations.set(key,value,long,TimeUnit);
String valueString=valueOperations.get(key);
TimeUnit是一个时间枚举
3.查询key是否存在
Boolean b=redisTemplate.hasKey(string);
springBoot集成Redis,RedisTmple操作redis和注解实现添加和清空缓存功能
原文:https://www.cnblogs.com/renjiankang/p/10931166.html