キャッシュドライバー
a-blog cms ではページキャッシュ、テンプレートキャッシュなどの複数のキャッシュが利用できますが、さらにキャッシュする場所や方式(ドライバー)も設定できます。
キャッシュドライバー
複数のキャッシュドライバーを用意しています。
データベースドライバー
データベース(MySQL)にキャッシュを保存します。 ある程度スピードも早く、複数台構成でもキャッシュを共有して利用できます。
ファイル キャッシュドライバー
ローカルのファイルシステムでファイルとしてキャッシュを行います。
他のAPCuやRedisなどのインメモリキャッシュに比べると低速になります。
PHPファイル キャッシュドライバー
PHPファイルとしてキャッシュします。OPcacheが有効だと高速に動作します。
メモリー キャッシュドライバー
メモリキャッシュになります。共有メモリではないので、アクセスの間だけ共有されます。
APCu キャッシュドライバー
APCu 拡張モジュールを使った、高性能な共有メモリキャッシュです。共有メモリに保存されるため、アプリケーションの性能を大幅に向上させることができます。
Redis キャッシュドライバー
Redis サーバーを使った 共有メモリキャッシュです。アプリケーションの性能を大幅に向上させることができます。複数台構成でもキャッシュを共有して利用できます。
設定変更方法
a-blog cms 設置ディレクトリに、.env ファイルを用意する必要があります。最初のパッケージに、env.txt ファイルがありますので、これを「.env」ファイルにリネームしてご利用ください。
ドライバーの変更
CACHE_xxxxxxx_DRIVER の値を変更することで、各キャッシュのキャッシュドライバーを変更することができます。
変更できる値は以下のものになっております。
- database: データベース キャッシュドライバー
- file: ファイル キャッシュドライバー
- php: PHPファイル キャッシュドライバー
- memory: メモリー キャッシュドライバー
- apcu: APCuキャッシュドライバー
- redis: Redis キャッシュドライバー
「コンフィグキャッシュ」と「ページキャッシュ」に利用できるドライバーは下記3つのドライバーのみとなります。
- database
- file
- redis
APCuを選択した場合、サーバー環境によっては、PHPプロセス毎にキャッシュがされてしまい、古いキャッシュが返ってきてしまう事があります。このような環境の場合は、他のキャッシュドライバーを選択ください。 * XSERVERの「Xアクセラレータ Ver.2」以外の場合、この環境となることを確認しています。
Webサーバーを複数台構成(プロフェッショナル以上)にする場合、キャッシュドライバーは「redis」をお勧めします。複数台で1つのキャッシュを参照でき、効率がよくなるためです。「Redis」が利用できない場合は、データベースキャッシュドライバーでもキャッシュを共有できますが、「redis」のほうがキャッシュ専用でパフォーマンスも出ますので「redis」が利用できる場合は「redis」をご利用ください。
CACHE_xxxxxxx_DRIVER には複数の値を「パイプ(|)」でつなげて設定することが出来ます。複数の値を設定した場合は、右から優先して利用できるドライバーがあったら、そのキャッシュドライバーを利用します。
CACHE_TEMPLATE_DRIVER=apcu|file
この場合、テンプレートキャッシュで、APCuが利用できる環境だとAPCuキャッシュを使用して、利用できない環境だとファイルキャッシュを使用します。
デフォルト設定
# キャッシュ設定 # Supported: apcu, php, memory, file, redis, database # テンプレートのキャッシュをするドライバーを選択します CACHE_TEMPLATE_DRIVER=file CACHE_TEMPLATE_NAMESPACE=template CACHE_TEMPLATE_LIFETIME=2678400 # フィールド情報のキャッシュをするドライバーを選択します CACHE_FIELD_DRIVER=database CACHE_FIELD_NAMESPACE=field CACHE_FIELD_LIFETIME=86400 # モジュールのキャッシュをするドライバーを選択します CACHE_MODULE_DRIVER=database CACHE_MODULE_NAMESPACE=module CACHE_MODULE_LIFETIME=86400 # 一時キャッシュで利用するドライバーを選択します CACHE_TEMP_DRIVER=memory CACHE_TEMP_NAMESPACE=temp CACHE_TEMP_LIFETIME=10800 # コンフィグのキャッシュをするドライバーを選択します # ページキャッシュに指定できるドライバーは、file, database, redis のみとなります。 CACHE_CONFIG_DRIVER=database CACHE_CONFIG_NAMESPACE=config CACHE_CONFIG_LIFETIME=2678400 # ページキャッシュをするドライバーを選択します # ページキャッシュに指定できるドライバーは、file, database, redis のみとなります。 CACHE_PAGE_DRIVER=database CACHE_PAGE_NAMESPACE=page # redisのコネクション設定をします CACHE_REDIS_HOST= CACHE_REDIS_PASSWORD= CACHE_REDIS_PORT=6379
Redis を利用するには、Redisサーバーの情報を設定する必要があります。
また、PHPの拡張モジュールとしてRedisが入っている必要があります。
CACHE_REDIS_HOST=
CACHE_REDIS_PASSWORD=
CACHE_REDIS_PORT=6379