Setelah beberapa penelitian, penjelasan yang mungkin adalah bahwa initialize_cache initializer dijalankan jauh sebelum Rails/initializer dijalankan. Jadi jika tidak didefinisikan sebelumnya dalam rantai eksekusi maka penyimpanan cache tidak akan disetel. Anda harus mengonfigurasinya lebih awal di rantai, seperti di application.rb atau environment/production.rb
Solusi saya adalah memindahkan pemuatan APP_CONFIG sebelum aplikasi dikonfigurasi seperti ini:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
dan kemudian di file yang sama:
config.cache_store = :redis_store, APP_CONFIG['redis']
Pilihan lainnya adalah meletakkan cache_store di blok before_configuration, seperti ini:
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