一、spring自带的缓存注解
1. @CacheEvict(value = CacheConstants.ROLE_DETAILS, allEntries = true)
allEntries默认false,不全部清楚。true时清除名称为role_details下的所有key。当指定key时,添加key=#key,这个key为方法中的某个参数名。
注意这个使用的场景一般是和业务关联不大,并发量不大,用户不频繁访问时采用的全部删除的策略。
2. @Cacheable(value = CacheConstants.MENU_DETAILS, key = "#roleId", unless = "#result.isEmpty()")
如果当前key存在时直接读取缓存;若不存在,则添加名称为manu_details, key为manu_details::roleId的缓存。
注意,这里的key为方法总的参数名,key的值为方法的返回值。unless表示什么情况下不添加缓存。
当前结果为空的时候。result表示返回值。
3.@CahcePut(value="",key="")
标识的方法,可以实时更新缓存
另外还有其他的注解,想学习可以直接去spring官网的api-doc:
org.springframework.cache.annotation (Spring Framework 6.0.17 API)
二、spring-boot集成redis方式
1. 引入spring-boot-starter-data-redis的包,
2. yml或properties配置
# application.properties 中
spring.redis.host=localhost
spring.redis.port=6379
想学习更多spring相关的可以直接去官网,毕竟那里才是发源地:Spring | Home