sql >> Database >  >> NoSQL >> Redis

De cache_store instellen in een initializer

Na enig onderzoek is een waarschijnlijke verklaring dat de initialize_cache initializer veel eerder wordt uitgevoerd dan de rails/initializers. Dus als het niet eerder in de uitvoeringsketen is gedefinieerd, wordt het cachegeheugen niet ingesteld. Je moet het eerder in de keten configureren, zoals in application.rb of environment/production.rb

Mijn oplossing was om het laden van APP_CONFIG te verplaatsen voordat de app als volgt wordt geconfigureerd:

APP_CONFIG = YAML.load_file(File.expand_path('../config.yml', __FILE__))[Rails.env]

en dan in hetzelfde bestand:

config.cache_store = :redis_store, APP_CONFIG['redis']

Een andere optie was om de cache_store in een before_configuration-blok te plaatsen, zoiets als dit:

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


  1. Mongo complexe sortering?

  2. Betrouwbare bibliotheken voor Spring boot redis-integratietests

  3. Hoe kan Redis sorteren op twee verschillende gesorteerde sets?

  4. ScaleGrid Hosting voegt ondersteuning toe voor zeer beschikbare Redis™-clusters met geautomatiseerde sharding