キャッシュ戦略
「キャッシュを維持管理するサービス(ElastiCache側)」が
どのタイミングで「データベース本体(RDS)」へアクセスしデータをキャッシュを取るか?
どのタイミングで取ったキャッシュを削除するか?
...の戦略
遅延読み込み
・必要なときにのみキャッシュにデータを読み込むキャッシュ戦略
→ユーザーがこのデータをリクエストしてはじめてデータを取りに行って、それからElastiCache側でキャッシュを保存
・キャッシュヒット:データがキャッシュに存在して期限切れでない
→データを返す。
・キャッシュミス:データがキャッシュに存在していないか、存在したが期限切れ
→nullを返す。そのあと、ElastiCacheはRDSに対してデータをリクエストし、取得したら新しいデータでキャッシュを更新。
・ユーザーは古いデータを取得するかも。。。
→「書き込みスルー+TTL」で解決できる
書き込みスルー
・データがデータベースに書き込まれると常にデータを追加するか、キャッシュのデータを更新
→RDSに更新があるとき、すぐElastiCacheを更新
・ElastiCache側でほとんどのデータは読み込まれないかもなので、リソース浪費。。。
→有効期限 (TTL) を設定して、時間になったら削除することで、無駄なスペースを最小限に抑える
参考サイト