Redisサーバーに障害が発生して再起動した場合、Redisにデータを再ロードする最良の方法は何ですか?以下のように(私はRedisの、インメモリ・データベースに少し新しいです)再起動時にRedis(または他のキャッシュサービス)のデータを再ロードする最も良い方法は?
私は三つの部分を持って、私はそれらを説明します:
- プロデューサーのアプリは - SQLデータベースを更新し、またサブセットを書き込み
- Redis server - SQLデータの重要なサブセットを持っています
- コンシューマーアプリケーション - 高速でRedisでデータをルックアップする必要があります(現在はRedisまたはSQLに書き込みません)データベース)
一部のオプションは、私が検討している:
- 入れリロードスクリプトをRedisのサーバーでは、SQLデータベースを照会し、消費者のアプリがに呼び出すことができるプロデューサーのアプリでエンドポイントを作成し、起動
- 時に自身をリロードしますので、 ConsumerアプリがRedisサーバが空で再起動したことをコンシューマアプリに通知すると、Producerアプリにリロードするように指示します。
- プロデューサアプリを完全に削除して、コンシューマアプリがSQLデータベースに直接問い合わせして結果をRedis SQLデータがいつ更新されたかはどのように分かりますか?)
- プロデューサーアプリだけでなく、コンシューマアプリケーションで直接SQLデータベースにクエリを実行し、コンシューマアプリケーションがRedisが空であると判断した場合に結果を書き込みます。
Redisの永続性の使用を検討しましたか?基本的には、データはディスクに保存され、再起動時の復旧に役立ちます。 –