Quantcast
Channel: Active questions tagged redis+java - Stack Overflow
Viewing all articles
Browse latest Browse all 2204

Why Redis Cache is not getting empty in my Spring Boot application?

$
0
0

I am using Redis Cache in my Spring Boot application to store data of multiple rest API's.

I am clearing Redis cache on a regular interval using Spring Cron Jobs. The method is getting called at required time-slots.

I have verified the logs but the cache is not getting clear and hence it is showing the stale data.

The code where I'm trying to clear the cache.

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");  }}

Custom cache configuration code.

 @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;   }  }

How to fix the code to clear the redis cache ?


Viewing all articles
Browse latest Browse all 2204

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>