@CacheEvict 是 Spring 框架中用于缓存操作的一个注解,它属于 Spring Cache 抽象的一部分。这个注解通常用在方法上,表示执行该方法时会触发缓存的清除操作。
具体来说,当你对一个方法使用了 @CacheEvict 注解,Spring 会在该方法执行完成后,根据注解中定义的缓存名称和条件,去清除指定的缓存。这样做可以确保缓存中的数据是最新的,避免了因为数据过时而导致的问题。
@CacheEvict 注解有几个重要的属性:
value:用于指定要清除的缓存的名称。
key:用于指定清除缓存时使用的键。
condition:用于指定清除缓存的条件,只有当条件满足时,才会执行清除操作。
allEntries:用于指定是否清除缓存中的所有条目,默认为 false,表示只清除指定的条目。
beforeInvocation:用于指定是否在方法执行之前清除缓存,默认为 false,表示在方法执行之后清除缓存。
使用 @CacheEvict 注解时,需要注意缓存的一致性和性能问题。因为清除缓存是一个相对昂贵的操作,如果频繁地清除缓存,可能会对系统的性能产生负面影响。
因此,在使用 @CacheEvict 注解时,需要仔细考虑清除缓存的策略和条件,以确保系统的性能和数据的准确性
配套使用
// 从redis缓存中查
@Cacheable(value = CacheConstants.VEHICLE_CLIENT, key = "'list'")
// 清除redis缓存
@CacheEvict(cacheNames = CacheConstants.VEHICLE_CLIENT, allEntries = true)
标签:缓存,Spring,指定,清除,注解,CacheEvict
From: https://www.cnblogs.com/xiaop27/p/18362186