Rails.cache.exists?(Ключ) возвращает false
Я развернул приложение Rails на heroku. Я использую аддон Heroku-redis premium0.
Я проверяю, существует ли ключ в redis, затем получаю данные из redis, иначе вызывается API, но иногда Rails.cache.exist?(Key) возвращает false, даже если ключ существует в redis, например, в production.rb
config.cache_store = :redis_cache_store
key = "Location_testing123"
if Rails.cache.exists?(key)
data = Rails.cache.fetch(key)
else
Rails.logger.info "KEY_NOT_FOUND #{@key},Existing keys are #{Rails.cache.redis.keys}"
data = call_api
end
Но я проверил, что мои журналы Heroku показывают
2020-07-23T09:30:31.651892+00:00 app[web.1]: I, [2020-07-23T09:30:31.651740 #10] INFO -- : [bb090357-d9a3-407b-9f76-efbfb1dd1fde] KEY_NOT_FOUND Location_testing123,Existing keys are ["Location_testing120","Location_testing123","Location_testing124", "stat:processed:2020-07-18"]
Вышеупомянутая проблема непоследовательна, это происходит только иногда