一部のデータをredisにキャッシュし、存在する場合はredisからデータを読み取ります。それ以外の場合は、データベースからデータを読み取り、redisにデータを書き込みます。
データベースを更新した後、redisを更新する方法がいくつかあることがわかりました。次に例を示します。
私は少し混乱していて、どのように選択したらいいのかわかりません。
それぞれの方法の長所と短所を教えてください。redisを更新する他の方法を教えたり、この問題についてブログをすすめたりすることをお勧めします。
実際のデータストアとキャッシュは、質問で既に説明した3番目のアプローチを使用して同期する必要があります。
決定的なストア(SQLデータベースなど)にデータを追加するときは、このデータをサービスバスまたはメッセージキューにエンキューし、非同期サービスに何らかのバックグラウンドプロセスを使用して同期全体を実行させる必要があります。
このようなケースは避けたいです(サービスバスと非同期サービスを使用していない場合)。
Redisキーの有効期限の使用については、良い考えです。 Redisは組み込みメカニズムを使用してキーを期限切れにすることができるため、バックグラウンドプロセス全体からキーの期限切れを実装しないでください。キーが存在するのは、それがまだ有効であるためです。
ところで、あなたは常にこのケースにいるわけではありません(キーの有効期限が切れていない場合、それは上書きされるべきではないということです)。実際のドメインによって異なる場合があります。