Lor*_*ren 7 java spring redis spring-boot
我在 Spring Boot 应用程序中使用 Redis Cache 来存储多个 rest API 的数据。
我正在使用 Spring Cron 作业定期清除 Redis 缓存。该方法在所需的时隙被调用。
我已经验证了日志,但缓存没有清除,因此它显示了陈旧的数据。
我试图清除缓存的代码。
public class CustomerDerivation {
@Autowired
@Qualifier("redisCacheMngr")
CacheManager redisCacheMngr;
@Scheduled(cron = "${redis.api.update.interval}")
@CacheEvict(value = "redis-cache", allEntries = true, cacheNames = {"redis-cache"})
protected void cacheEvict() {
redisCacheMngr.getCache("redis-cache").clear();
logger.info("Evicting ModelCache");
}
}
Run Code Online (Sandbox Code Playgroud)
自定义缓存配置代码。
@Configuration
@Profile("cloud")
public class CacheConfig extends AbstractCloudConfig {
@Autowired
Environment env;
@Bean
public RedisConnectionFactory brRedisFactory() {
return connectionFactory().redisConnectionFactory(env.getProperty("model_cache_name"));
}
@Bean
public RedisTemplate<String, Object> brRedisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();
redisTemplate.setConnectionFactory(brRedisFactory());
return redisTemplate;
}
@Bean(name = "redisCacheMngr")
public CacheManager cacheManager() {
RedisCacheManager cacheManager = new RedisCacheManager(brRedisTemplate());
cacheManager.setUsePrefix(true);
cacheManager.setTransactionAware(true);
return cacheManager;
}
}
Run Code Online (Sandbox Code Playgroud)
如何修复清除redis缓存的代码?
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |