キャッシュ アサイド パターンとリードスルー パターンの両方で、データベースに書き込むコードを記述する必要があります。では、リードスルー、ライトビハインド アプローチの本当の利点は何ですか?私の疑問を明確にしてください。
1 に答える
はい、これら両方のパターンでコードを記述する必要がありますが、リードスルー/ライトビハインド アプローチを使用することには多くの利点があります。
たとえば、キャッシュ アサイド パターンでは、アプリケーションはデータベースからの読み取りと書き込みを担当し、データベースとのキャッシュの同期も維持します。これにより、アプリケーションのコードが複雑になり、複数のアプリケーションが同じデータを処理している場合、コードの重複が発生する可能性があります。一方、リードスルー/ライトビハインドは、アプリケーションのロジックを簡素化します。
さらに、リードスルーは、同じオブジェクトに対する並列呼び出しをブロックすることで、データベース呼び出しを減らすことができます。NCacheによるこの記事で説明されているように
キャッシュ項目の有効期限が切れて、複数の並列ユーザー スレッドがデータベースにヒットする状況が数多くあります。これに数百万のキャッシュ項目と数千の並列ユーザー要求を掛け合わせると、データベースの負荷が著しく高くなります。
同様に、後書き (非同期) は、書き込み操作を高速化することで、アプリケーションのパフォーマンスを向上させることができます。
キャッシュアサイドでは、アプリケーションはデータベースを直接同期的に更新します。一方、ライト ビハインドを使用すると、アプリケーションはキャッシュをすばやく更新して戻ることができます。次に、キャッシュがデータベースをバックグラウンドで更新できるようにします。
キャッシュアサイドよりもリードスルー/ライトビハインドを使用する利点の詳細については、この記事を参照してください。これが役立つことを願っています:)