PowerCMS X では、管理画面やダイナミック・パブリッシングでキャッシュを利用しています。
環境変数「cache_driver」に「File」「Redis」「APCu」「SQLite」「MySQL」を指定できます。各々の特徴は以下の通りです。
cache_driver | 特徴 | 冗長化構成 |
---|---|---|
File(規定・推奨) | 最も手軽に導入でき、1台構成の時はこの設定を推奨します。特に query_cache を有効にしていると大量のファイルが生成されるため、キャッシュのクリアに時間と負荷がかかります。また、冗長化構成時はファイルを lsyncdなどで同期するか、共有ディスクなどにキャッシュファイルを置く必要があります。 | ファイル共有が必要 (冗長化時の指定は非推奨) |
Memcached | サーバーのPHPが Memcached をサポートしている場合に指定可能です。ただし、デフォルトの1Mでは容量を超える可能性が高いため、大きめの容量を設定してください。例 : /usr/bin/memcached -I 50M | 対応 (推奨) |
APCu | サーバーが1台構成でサーバーのPHPが APCuをサポートしている必要があります。非常に高速です。ただし、唯一冗長化構成に非対応です。キャッシュの効果を最大限にするためには apc.shm_size を512Mなど、大きめに割り当ててください。また、apc.enable_cli を有効化してください。この指定がないとスケジュールタスクでキャッシュが使われなくなるため、速度低下を引き起こします。また、APCuはプロセスごとに独立しているのでコマンドラインでアプリケーションキャッシュが変更されたときなどはキャッシュをクリアする必要があります(worker.php実行後に管理画面にアクセスした際にクエリキャッシュはクリアされます)。 | 非対応 |
SQLite | 比較的小規模なサイトでサーバーが1台構成でサーバーのPHPがAPCuをサポートしていない時 (高速なディスクを使える時) はこの設定を推奨します。 | ファイル共有が必要 (冗長化時の指定は非推奨) |
MySQL | CMSが利用するデータベースにキャッシュ専用のテーブルを作成し、それを利用します。冗長化構成時にも手軽に導入できます。 | 対応 |
Redis | サーバーのPHPが Redis をサポートしている場合に指定可能です。 | 対応 |