Após algumas pesquisas, uma explicação provável é que o inicializador initialize_cache é executado muito antes dos rails/inicializadores. Portanto, se não for definido anteriormente na cadeia de execução, o armazenamento em cache não será definido. Você tem que configurá-lo mais cedo na cadeia, como em application.rb ou ambientes/produção.rb
Minha solução foi mover o carregamento do APP_CONFIG antes que o aplicativo seja configurado assim:
APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]
e depois no mesmo arquivo:
config.cache_store = :redis_store, APP_CONFIG['redis']
Outra opção era colocar o cache_store em um bloco before_configuration, algo assim:
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