SQLite Object Cache|レンサバOK!Redis不要の軽量オブジェクトキャッシュ

SQLite Object Cache | No Redis Needed! Fast Object Caching for Shared Hosting

概要

WordPressのオブジェクトキャッシュをSQLiteのファイルに書き残して使い回すためのプラグインです。ページキャッシュを丸ごと作るのではなく、DBから取得したデータを保持して負荷を下げてくれます。何より強力なのは、RedisやMemcached、APCuといった専用ミドルウェアがサーバーに入っていなくても、PHPのSQLite3さえ使えればサクッと導入できる手軽さですね。


配布ページ: https://ja.wordpress.org/plugins/sqlite-object-cache/

結論

キャッシュ用の専用サーバー(RedisやMemcachedなど)が用意できないレンタルサーバー環境で、オブジェクトキャッシュだけ試してみたいという状況なら第一候補で間違いないです。一般的なレンサバ構成でのメリットは抜群に大きいので、まずは有効化して恩恵があるか様子を見てみるのがおすすめ。

おすすめポイント

  • RedisやMemcachedがいらない
    高度なサーバー設定ができない一般的なレンタルサーバーでも、永続オブジェクトキャッシュの恩恵をフルに受けられます。
  • データ管理の境界が明白
    キャッシュデータは消えても再生成される性質なので、「SQLiteファイルのバックアップは不要」と公式のスタンスがハッキリしていて助かります。
  • コマンドライン対応
    wp sqlite-object-cache 系のWP-CLIが用意されているので、シェルに慣れているなら一瞬で設定が終わります。

できること

  • オブジェクトキャッシュのSQLite化
    wp-content/object-cache.php を配置してキャッシュを永続化する
  • キャッシュサイズの上限設定
    指定サイズ(MiB)を超えそうになったら古いエントリから自動で間引く
  • APCuとの連携
    APCuが有効な環境なら、設定次第でRAM経由の超高速な読み取りも可能
  • マルチサイト対応
    ネットワーク全体でも動かせる(設定画面の入り方はFAQ参照)
  • 統計表示機能
    ヒット率や処理時間の分布を管理画面からざっくり確認できる

使いどころ

「一般的なレンタルサーバーで運用中なんだけど、管理画面がとにかく重い…」「フロントの表示(TTFB)を少しでも詰めたい!」という場面で役立ちます。すでに別の永続キャッシュが動いている場合は競合するので、そちらを無効化してから試すのが鉄則です。

注意点

  • Webサーバーが複数台に分かれているシステム構成(ロードバランサー背後の複数EC2など)では使えません。また、NFSなどの共有ディスクにSQLiteファイルを置くのもトラブルの元なのでNGです。
  • 導入前に、環境のPHP・WordPressバージョンと、SQLite3拡張モジュールが入っているかを「サイトヘルス」等で確認しておく必要があります。

まとめ

レンタルサーバー環境で「とりあえずRedisなしでオブジェクトキャッシュの恩恵を受けたい」というフェーズなら、かなり現実的でコスパの良い選択肢です。将来的にトラフィックが激増してRedis等をフル活用できる環境に移転するまでは、これで十分戦えるはずです!