Sau một số nghiên cứu, một lời giải thích có thể xảy ra là trình khởi tạo initialize_cache được chạy trước khi rails / khởi tạo. Vì vậy, nếu nó không được xác định sớm hơn trong chuỗi thực thi thì bộ nhớ cache sẽ không được thiết lập. Bạn phải định cấu hình nó sớm hơn trong chuỗi, như trong application.rb hoặc environment / production.rb
Giải pháp của tôi là di chuyển tải APP_CONFIG trước khi ứng dụng được định cấu hình như sau:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
và sau đó trong cùng một tệp:
config.cache_store = :redis_store, APP_CONFIG['redis']
Một tùy chọn khác là đặt cache_store trong khối before_configuration, giống như sau:
config.before_configuration do
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
config.cache_store = :redis_store, APP_CONFIG['redis']
end