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"]

Вышеупомянутая проблема непоследовательна, это происходит только иногда

0 ответов

Другие вопросы по тегам