WordPressを使ってブログを運用している方であれば「キャッシュを使えば表示を高速化できる」というお話を聞いたことがあるかと思います。
実際、私も試してみたことがありますが確かに速くなります。
その反面、若干使い勝手が悪くなったり、思わぬ不具合の原因になったりもしますので注意が必要です。
この記事ではキャッシュについての基本的なところを説明しております。
WordPressでキャッシュを使うか使わないかの判断材料の一つとしてお読みいただけると幸いです。
キャッシュとは
キャッシュとは「必要となるデータを事前に用意しておく仕組み」です。
WordPressでいうと、ページへのアクセスがあってからそのページを表示するためのデータを用意するのではなく、前もってデータを用意しておいてそれを使ってページを表示する感じになります。
一からデータを用意する時間が省ける分、ページが表示されるまでの時間が短縮されます。
キャッシュのメリットとデメリット
キャッシュにメリットしかないのであればWordPressのデフォルトでキャッシュを有効にしてあるはずですがそうはなっていません。
つまり、デメリットが存在します。
メリットとデメリットの両方を知った上で、使うか使わないかの判断をすることが重要だと思います。
メリット | デメリット |
---|---|
見た目の処理速度が向上する データを再利用できる 負荷が低減できる | 新鮮さが失われる キャッシュがヒットしなかった場合に処理時間が目立つ 誤ったデータをキャッシュしてしまう可能性がある |
メリット・デメリットについて、もう少し詳しく説明します。
メリットについて
- 見た目の処理速度が向上する
-
例えば、DBから取得したデータをキャッシュしておけば次回はDBへアクセスすることなくデータを提供することが可能になります。
複雑なクエリだったり、DBからのデータ転送が遅くて待ちが発生するような状況でも既にデータが用意されているのですぐにデータを提供することが出来ます。 - データを再利用できる
-
例えば、「先週の人気記事ランキング」のデータのような一定期間内容が変わらないデータをその都度取得するのはコストがかかります。
データが更新されたタイミングでキャッシュしておけば以降はデータを取得する必要がなくなり、キャッシュのデータを再利用することが出来ます。 - 負荷が低減できる
-
無駄なデータの取得が発生しないため、DBやネットワークの負荷が低減できます。
その分のリソースを他で使うことが出来るのでシステム全体での効率が上がることが期待できます。
デメリットについて
- 新鮮さが失われる
-
事前にデータを取得しておくため、現時点での最新情報ではなくなる点に注意が必要です。
リアルタイムのデータが必要な場合などはキャッシュを使うことで思わぬトラブルになる可能性があります。 - キャッシュがヒットしなかった場合に処理時間が目立つ
-
必要なデータがキャッシュに存在することを「キャッシュがヒットする」などと言います。
キャッシュがヒットしなかった場合、つまりはデータがなかった場合は事前にやっていた処理をリアルタイムで行う必要があるため処理時間の長さが目立ってしまいます。 - 誤ったデータをキャッシュしてしまう可能性がある
-
例えば、誤った内容で公開していた記事がキャッシュされている場合、記事を修正してもしばらくはキャッシュされた内容(=誤った内容)が表示され続ける可能性があります。
まとめ
以上、キャッシュについて簡単ではありますが説明してみました。
きちんと設計されたキャッシュシステムをきちんと設定された状態で使えばかなり有効だと思います。
しかし前述の通りデメリットもありますし、キャッシュされることに向いていないコンテンツも存在します。
例えば、ランダムで記事が表示されるスライダーをキャッシュしてしまったらしばらくはスライダーの内容が変わらないとか、ログイン後にしか表示されない内容をキャッシュしてしまったら未ログインユーザーにも見えてしまうとか…。
デザインをカスタマイズしたとき、古いCSSをキャッシュしていたりすると表示が崩れたり、想定しているスタイルが適用されない可能性もあります。
個人的には「しっかり理解していないのであればキャッシュを使うことはオススメしない」という考えです。
少しでも不安があるのなら使わない方がいいと思います。
この記事がキャッシュを使おうか迷っている方の参考になれば幸いです。
コメント