キャッシュを入れる対象の判断基準として妥当なのはどれですか。
更新が少なく参照が多いものに入れます。常に最新であるべきものには入れません。ドライバは単一サーバーなら file でも動きますが、複数台構成では共有できる redis が要ります。
面接官が見ているのは場当たりでなく基準を持っているか。
よくある答えと、面談でどう見られるか
- 更新頻度が低く、参照が多く、多少古くても許容できるもの
その通りです。複数台構成なら共有できる redis、単一サーバーなら file でも動きます。 - 表示が遅いページには、原因を問わずまず入れてみる
速くはなりますが、原因を隠すだけになります。まず何が遅いかを特定してからです。キャッシュを入れると何が起きるかを先に押さえましょう。 - ユーザーごとに異なるデータほど効果が高い
共有されないので効果が薄い上、キーを間違えると他人のデータが見える事故になります。 - 常に最新であるべきデータほど、キャッシュで守るべき
逆です。最新性が要るものにはキャッシュを入れません。
面接官は何を見ているか
- 具体的な対象を挙げた
- 「更新頻度が低く参照が多い」等の基準を言えた
- ドライバ(file / redis 等)に触れた
模範解答
更新が少なく参照が多いものに入れます。マスタデータや、集計に時間がかかるが多少古くても許容できる数値などです。逆に、常に最新であるべきものには入れません。ドライバは単一サーバーなら file でも動きますが、複数台構成なら共有できる redis にします。
ここからどう深掘りされるか
この問いに答えられた場合、面談は次の質問に進みます。
観点をすべて押さえられた場合
キャッシュの破棄はどうしていましたか。一部しか触れられなかった場合
キャッシュを入れたことで、逆に困る場面はどれですか。