Después de algunas investigaciones, una explicación probable es que el inicializador initialize_cache se ejecuta mucho antes que los rieles/inicializadores. Entonces, si no se define anteriormente en la cadena de ejecución, no se establecerá el almacenamiento en caché. Tienes que configurarlo antes en la cadena, como en application.rb o environments/production.rb
Mi solución fue mover la carga de APP_CONFIG antes de que la aplicación se configure así:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
y luego en el mismo archivo:
config.cache_store = :redis_store, APP_CONFIG['redis']
Otra opción era poner cache_store en un bloque before_configuration, algo como esto:
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