SpringBoot缓存注解
1、缓存@Cacheable:根据方法对其返回结果进行缓存,下次请求时,如果缓存存在,则直接读取缓存数据返回;如果缓存不存在,则执行方法,并把返回的结果存入缓存中,一般用在查询方法上
属性/方法名 | 解释 |
value | 缓存名,必填,它指定了你的缓存存放在哪块命名空间中 |
cacheNames | 与value差不多,二选一即可 |
key | 可选属性,可以适应sqel标签自定义缓存的key |
2、缓存@CachePut:使用该注解标志的方法,每次都会执行,并将结果存入指定的缓存中,其他方法可以直接从响应的缓存中读取缓存数据,而不需要再去查询数据库,一般用在新增的方法上
属性/方法名 | 解释 |
value | 缓存名,必填,它指定了你的缓存存放在哪块命名空间中 |
cacheNames | 与value差不多,二选一即可 |
key | 可选属性,可以适应sqel标签自定义缓存的key |
3、缓存@CacheEvict:使用该注解标志的方法,会清空指定的缓存,一般用在更新或者删除方法上
属性/方法名 | 解释 |
value | 缓存名,必填,它指定了你的缓存存放在哪块命名空间中 |
cacheNames | 与value差不多,二选一即可 |
key | 可选属性,可以适应sqel标签自定义缓存的key |
allEntries | 是否清空所有缓存,默认为False,如果指定为true,则方法调用后将立即清空所有的缓存 |
beforeInvocation | 是否在方法执行前就清空,默认为flase,如果指定为True,则会方法执行前就会清空缓存 |
4、连接Redis服务器可能会出现的问题