Я хочу обновить sh кеш, когда истекает срок действия. Поэтому я переопределяю часть Springcache и управляю кэшем в своем собственном redisCacheManager.
Все работает нормально, но при запуске метода get неожиданные значения возвращаются в моем собственном CustomizedRedisCache. В то время ключ кеша в Redis действительно был тем же, что и свойство «cacheKey».
@Override
public ValueWrapper get(final Object key) {
ValueWrapper valueWrapper = super.get(key);
if (null != valueWrapper) {
String cacheKey = this.createCacheKey(key);
log.info("cache name in redis = {}", cacheKey);
Long ttl = this.redisTemplate.getExpire(cacheKey, TimeUnit.SECONDS);
log.info("{}s before expire ", ttl);
}
return valueWrapper;
}
Поле ttl всегда возвращает -2. И я не понимаю, что это значит.