我想对spring缓存执行以下操作。
检查传递的字符串是否存在于缓存中。如果存在则返回true,如果不存在则添加到缓存中;checkincache(字符串str)
从缓存中逐出字符串逐出(string str)
像下面这样试过
@Component 公共类flightcache{
public static final Logger log = LoggerFactory.getLogger(FlightCache.class);
@Autowired
CacheManager cacheManager;
public boolean isFlightKeyPresent(final String flightKey) {
final ValueWrapper existingValue = cacheManager.getCache("flightCache").get(flightKey);
log.info("existingValueexistingValue " + existingValue);
if (existingValue == null) {
cacheManager.getCache("flightCache").put(flightKey, flightKey);
return false;
} else {
return true;
}
}
并在配置类上添加了@enablecaching注解。
错误:
required a bean of type 'org.springframework.cache.CacheManager' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)Action:Consider defining a bean of type 'org.springframework.cache.CacheManager' in your configuration.
1条答案
按热度按时间9rbhqvlz1#
要检查缓存包含密钥,可以执行以下操作:
@自动连线缓存管理器;
布尔iskeypresent(对象键){cachemanager.getcache(“mycachename”).get(键)!=空;}
要收回密钥,可以执行以下操作:
@自动连线缓存管理器;
布尔cacheevict(object key){cachemanager.getcache(“mycachename”).evictifpresent(key);}