sql >> データベース >  >> NoSQL >> Redis

イニシャライザでのcache_storeの設定

    いくつかの調査の後、おそらく、initialize_cache初期化子がrails/initializersよりも前に実行されているという説明があります。したがって、実行チェーンの早い段階で定義されていない場合、キャッシュストアは設定されません。 application.rbやenvironments/production.rb

    のように、チェーンの早い段階で構成する必要があります。

    私の解決策は、アプリが次のように構成される前に、APP_CONFIGの読み込みを移動することでした:

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

    そして同じファイルに:

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

    もう1つのオプションは、cache_storeをbefore_configurationブロックに配置することでした。たとえば、次のようになります。

    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. セロリビート+パスワード付きのredisは認証例外をスローしません

    2. 配列サイズが1より大きいドキュメントをクエリします

    3. Redisでのトランザクションとウォッチステートメント

    4. MongoDB4.2用のPerconaサーバーの概要