Redisとは?WordPress高速化での役割を解説

Redisとは?WordPress高速化での役割を解説

WordPressの高速化を調べていると、「Redisを使うと速くなる」「Redis Object Cacheを入れる」といった説明を目にすることがあります。

Redisは、データをメモリ上へ保存して高速に読み書きできる仕組みです。WordPressでは主に永続オブジェクトキャッシュの保存先として使われ、データベースへ同じ問い合わせを何度も行う回数を減らす役割があります。

30秒でわかる結論

  • Redisは、データを主にメモリ上で高速に扱うデータストア
  • WordPressでは、データベース検索結果などを再利用する「永続オブジェクトキャッシュ」に使われる
  • ページキャッシュとは役割が違い、Redisは完成済みHTMLそのものを配信する仕組みではない
  • WordPress標準のオブジェクトキャッシュは通常、1回のリクエストが終わると消える
  • Redisなどを使うと、オブジェクトキャッシュを次のリクエストでも再利用できる
  • 高アクセスサイトやデータベース処理の多いサイトでは効果を得やすい
  • 通常の個人ブログでは、Redisより先に画像・ページキャッシュ・不要プラグインなどを確認すれば十分なことが多い
  • 共用レンタルサーバーでは、Redisが提供されていなければ自分で無理に導入する必要はない

Redisとは?

Redisは、データを高速に保存・取得するためのデータストアです。

一般的なデータベースがディスク上のデータを扱う場面が多いのに対し、Redisは主にメモリ上のデータを高速に読み書きするため、キャッシュ用途でよく使われます。

イメージ

毎回倉庫の奥まで商品を取りに行くのではなく、よく使うものを手元の棚へ置いておくイメージです。

WordPressでは、記事情報・設定値・データベース検索結果など、繰り返し使うデータを一時保存して再利用する用途でRedisが使われることがあります。

WordPressでRedisは何をしている?

WordPressはページを表示するとき、データベースから記事、設定、ユーザー情報、メニューなどさまざまなデータを取得します。

同じ情報を何度も取得するたびにデータベースへ問い合わせると、その分だけ処理が増えます。

Redisなし
WordPress → データベースへ問い合わせ → 結果を取得
Redisあり
WordPress → Redisにキャッシュがあるか確認
キャッシュがあれば再利用
データベースへの問い合わせを減らせる

WordPress公式ドキュメントでも、オブジェクトキャッシュはデータベースへのアクセス回数を減らすための仕組みとして説明されています。Redisはその永続的な保存先として利用できます。

WordPress標準のオブジェクトキャッシュとの違い

WordPressにはもともとオブジェクトキャッシュの仕組みがあります。

ただし、標準状態では基本的に1回のページ処理が終わるとキャッシュも消えるため、次のアクセスまでデータを残しません。

方式 キャッシュの保持 特徴
WordPress標準 原則1リクエスト中 ページ処理中の重複取得を減らす
Redis利用 リクエストをまたいで保持可能 次回アクセスでもデータを再利用しやすい

「永続」とは永久保存ではない

永続オブジェクトキャッシュとは、1回のページ表示が終わってもキャッシュが残り、次のリクエストでも再利用できるという意味です。キャッシュは削除・期限切れ・更新などによって入れ替わります。

Redisとページキャッシュの違い

Redisを理解するときに最も混同しやすいのがページキャッシュです。

項目 Redisによるオブジェクトキャッシュ ページキャッシュ
保存するもの DB検索結果・WordPress内部データなど 完成済みHTML
省ける処理 DB問い合わせの一部 PHP・DB・HTML生成の多く
向くページ 動的処理が多いページ 同じ内容を多くの人へ表示するページ
初心者の優先度 中~低 高

初心者はページキャッシュを先に確認

普通のブログや会社サイトなら、まずレンタルサーバー標準のページキャッシュを確認してください。Redisはその次に検討する仕組みであり、ページキャッシュの代わりではありません。

RedisでWordPressが速くなる仕組み

たとえば、あるページを表示するためにデータベースへ50回問い合わせているとします。

そのうち20回分がRedisから再利用できると仮定すれば、データベースへ実際に問い合わせる回数を50回から30回へ減らせます。

50回 − 20回 = 30回

これは単純化した例ですが、考え方は同じです。

データベースへの往復が減れば、PHP処理やデータベース負荷を抑えられ、結果としてTTFBや管理画面の応答速度が改善する場合があります。

実際の効果は、テーマ・プラグイン・データベース構成・アクセス数・サーバー性能・キャッシュヒット率などで大きく変わります。「Redisを入れれば必ず○秒速くなる」とは言えません。

Redisが効果を得やすいサイト

小規模な個人ブログ 必要度 ★★☆☆☆

ページキャッシュで十分なことが多く、Redisを最優先にする必要はありません。

会社サイト 必要度 ★★☆☆☆

静的なページ中心なら効果は限定的です。まず画像・ページキャッシュを確認します。

EC・会員サイト 必要度 ★★★★☆

ログイン状態や動的データが多く、ページキャッシュだけでは対応しにくい場合に有効です。

高アクセスメディア 必要度 ★★★★★

データベースへの問い合わせが多い場合、永続オブジェクトキャッシュを検討する価値があります。

管理画面の高速化にも効果がある?

Redisはフロントページだけでなく、WordPress管理画面の処理にも効果が出る場合があります。

ページキャッシュは通常、ログイン中の管理画面には使いません。一方、オブジェクトキャッシュはWordPress内部のデータ取得を減らすため、管理画面でも恩恵を受けられるケースがあります。

ここがページキャッシュとの大きな違い

ページキャッシュは完成済みページを配信する高速化、RedisはWordPressがページや管理画面を作る途中のデータ取得を効率化する高速化です。

Redisを使うために必要なもの

WordPressへプラグインを1つ入れれば、どのサーバーでもRedisが使えるわけではありません。

必要なもの

  • Redisサーバーまたはホスティング側のRedis機能
  • WordPressとRedisを接続する仕組み
  • 適切な接続設定
  • 必要に応じてRedis対応のオブジェクトキャッシュプラグイン

WordPress公式ドキュメントでも、永続オブジェクトキャッシュを利用するには、Redisなどのキャッシュサーバーと、それを利用する仕組みが必要と説明されています。

プラグインだけ入れてもRedis本体がなければ使えない

Redis対応プラグインは、WordPressとRedisを接続する役割です。サーバー側にRedis環境が提供されていない場合、プラグインだけでは永続オブジェクトキャッシュは動きません。

共用レンタルサーバーでRedisは使える?

使えるかどうかはレンタルサーバーの仕様によります。

共用サーバーでは利用者が自由にRedisをインストールできないことが多いため、サーバー会社がRedisまたは同等の永続オブジェクトキャッシュ機能を提供しているか確認します。

初心者は「提供されていれば使う」でよい

通常の共用レンタルサーバー利用者が、Redisを使うためだけにVPSへ移行する必要はありません。まず現在のサーバーにオブジェクトキャッシュ機能があるかを確認し、なければページキャッシュなど他の高速化を優先します。

RedisとMemcachedの違い

WordPressの永続オブジェクトキャッシュでは、RedisのほかMemcachedが使われることもあります。

項目 Redis Memcached
主用途 高速なデータ保存・キャッシュ シンプルなメモリキャッシュ
データ構造 複数種類に対応 比較的シンプル
WordPress用途 永続オブジェクトキャッシュ 永続オブジェクトキャッシュ
初心者の選び方 自分で性能比較するより、利用サーバーが正式対応する方式を優先

RedisとMemcachedの細かな違いは別記事で詳しく解説します。

RedisとOPcacheの違い

仕組み 再利用するもの
Redis WordPressのオブジェクト・DB検索結果など
OPcache コンパイル済みPHPコード

どちらも高速化に使われますが、キャッシュ対象が違います。

Redisを有効にしたからOPcacheが不要になるわけでも、OPcacheがあるからRedisが不要になるわけでもありません。

Redisを使うときの注意点

キャッシュが古いと表示がずれることがある

データ更新後も古いキャッシュが残ると、画面に以前の情報が見える場合があります。キャッシュ削除機能が用意されている場合は、原因を確認したうえで利用します。

複数のキャッシュ機能を重ねすぎない

ページキャッシュ、オブジェクトキャッシュ、CDN、プラグイン独自キャッシュなどを大量に重ねると、どこに古いデータが残っているのか分かりにくくなります。

Redisが原因と決めつけない

WordPressが重い原因は、画像、テーマ、プラグイン、外部API、PHP、データベース、サーバーCPUなど複数あります。Redisは万能な解決策ではありません。

キャッシュ削除を頻繁に行いすぎない

キャッシュを毎回すべて削除すると、再びデータを作り直す処理が増えます。更新確認など必要な場面で行います。

Redisを導入する前に確認する順番

1.画像サイズを確認
大きすぎる画像を減らす
2.不要プラグインを確認
重い処理や外部通信を調べる
3.ページキャッシュを確認
レンタルサーバー標準機能を優先
4.PHP・サーバー性能を確認
CPU・メモリ・PHP環境を見る
5.DB負荷を確認
問い合わせが多いか調べる
6.必要ならRedisを検討
永続オブジェクトキャッシュが効果的か判断する

教科書判定

教科書判定

普通の共用レンタルサーバー利用者は、Redisを最初から理解・設定しなくてもよい

個人ブログや一般的な会社サイトでは、画像最適化、ページキャッシュ、不要プラグイン整理、PHP更新などの方が先です。

Redisを意識すべきなのは、高アクセスサイト、EC・会員サイト、管理画面や動的ページでデータベース処理が多いサイトです。

利用中のレンタルサーバーがRedisを正式提供しているなら、その機能を使うのが最も安全です。Redisを使いたいという理由だけで初心者がVPSへ移行する必要はありません。

FAQ

Q.Redisを入れればWordPressは必ず速くなりますか?

必ずではありません。データベース問い合わせが多いサイトでは効果を得やすい一方、静的な小規模サイトでは変化が小さい場合があります。

Q.Redis Object Cacheプラグインだけ入れれば使えますか?

いいえ。WordPressと接続できるRedisサーバーまたはホスティング側のRedis機能が必要です。プラグインはRedis本体そのものではありません。

Q.Redisとページキャッシュは両方必要ですか?

役割が違うため併用されることがあります。ただし、小規模サイトではページキャッシュだけで十分な場合もあります。必要性を確認してから追加してください。

Q.Redisを使うとデータベースは不要になりますか?

不要にはなりません。Redisは元データの代わりではなく、再利用できるデータを一時保存するキャッシュとして使われます。元のWordPressデータはMySQLやMariaDBなどに保存されます。

Q.初心者でもRedisを設定した方がよいですか?

通常の共用レンタルサーバー利用者なら、最初から設定する必要はありません。サーバー側が公式に提供している場合や、実際にDB負荷が問題になっている場合に検討すれば十分です。

まとめ

この記事の結論

  • Redisはメモリ上で高速にデータを扱えるデータストア
  • WordPressでは永続オブジェクトキャッシュとして使われる
  • データベースへの同じ問い合わせを減らし、処理負荷を下げる役割がある
  • ページキャッシュとは保存対象と役割が違う
  • WordPress標準のオブジェクトキャッシュは通常1リクエスト限り
  • Redisを使うにはサーバー側のRedis環境が必要
  • 小規模サイトではRedisよりページキャッシュなどを先に確認する
  • 高アクセス・EC・会員サイトでは検討価値が高い
次に読む

「Memcachedとは?Redisとの違いを比較」もあわせて確認してください。