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

ファイル/モジュール間でRedis接続を共有する必要がありますか?

    このような質問に直面したとき、私は一般的に3つの基本的な質問について考えます。

    1. どちらが読みやすいですか?
    2. コードの再利用を改善できるのはどれですか?
    3. どちらがより効率的ですか?

    シナリオによって異なるため、必ずしもこの順序である必要はありませんが、この場合、これら3つの質問すべてがオプションBを支持していると思います。createClientのオプションを変更する必要がある場合は、すべてのファイルでそれらを編集する必要があります。それを使用します。オプションAのどれがredisを使用するすべてのファイルであり、オプションBは単にredis.jsです。また、新しいまたは別の製品が出てきて、redisを交換したい場合は、redis.jsを別のパッケージのラッパーにするか、新しいredisクライアントでさえ変換時間を大幅に短縮することができます。

    グローバルは一般的に悪いことですが、この例では、redis.jsは可変状態を保存してはならないため、このコンテキストでグローバル/シングルトンを使用しても問題はありません。



    1. RedisはRDBスナップショットを保存するように構成されていますが、現在ディスクに永続化できません-Ubuntu Server

    2. Railsカスタム環境Resque.enqueueはジョブを作成しません

    3. Redisの変更を聞きますか?

    4. WiredTigerとインプレースアップデート