Nach einiger Recherche ist eine wahrscheinliche Erklärung, dass der Initialisierer initialize_cache weit vor den Schienen/Initialisierern ausgeführt wird. Wenn es also nicht früher in der Ausführungskette definiert ist, wird der Cache-Speicher nicht festgelegt. Sie müssen es früher in der Kette konfigurieren, wie in application.rb oder environment/production.rb
Meine Lösung bestand darin, das Laden von APP_CONFIG zu verschieben, bevor die App wie folgt konfiguriert wird:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
und dann in der gleichen Datei:
config.cache_store = :redis_store, APP_CONFIG['redis']
Eine andere Möglichkeit war, den cache_store in einen Block before_configuration zu setzen, etwa so:
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