質問

CakePHP は APC、XCache などをサポートしていますか?

役に立ちましたか?

解決

あなたはキャッシュエンジン(バージョン1.2より新しい)を設定するためにケーキの/app/config/core.phpでは、いくつかのオプションがあります.e.g

  APC (http://pecl.php.net/package/APC)

 Cache::config('default', array(
    'engine' => 'Apc', //[required]
    'duration'=> 3600, //[optional]
    'probability'=> 100, //[optional]
    'prefix' => Inflector::slug(APP_DIR) . '_', //[optional]  prefix every     cache file with this string
));

他のヒント

APC をオペコード キャッシュとしてサポートする必要があります。結局のところ、APC は単なる PHP コードです。

そして、APCをデータのキャッシュとして使用するAPC関連のクラスがあるようです。見る ApcEngine.
マニュアルの以下も参照してください。 7.2.2 Cake のキャッシュ エンジン, 、そこには、APC、XCache、File、および memcached がサポートされていると記載されています。

ただ、それの内部キャッシュ用のファイルキャッシュ以外の使用は何のケーキを取得するためのいくつかのトリックがあり、すでに提供されている他の良い答えに追加します。このコードは、ケーキ用APC、XCacheとを行います、それのコアキャッシュ(この例では、APC)のためにどんな

Cache::config('_cake_core_', 
    array(
       'engine' => 'Apc',
       'duration'=> 3600,
       'probability'=> 100,
    )
);

ケーキはまたあなたのコントローラ/のAppControllerでこれを置くことによって、あなたのモデルをキャッシュすることができます。

var $persistModel = true;

しかし、モデルはファイルのみを使用することができますキャッシュ

これらはすべてスピードアップするために使用ケーキのキャッシュ機構への方法の束を含み、この記事から、盗まれた自分のアプリ

http://www.pseudocoder.com /アーカイブ/ 8ウェイ・ツー・スピードアップCakePHPの-アプリの

パスカルは、APCをインストールして設定することにより、前述しましたように、

また、あなたのPHPのオペコードが自動的にキャッシュされます。

さらに多くの良さをキャッシュするため、PHPのサポートは、ロードバランス環境に特に有用であるセッションストア、などのファイルの代替としてのmemcache。単一サーバー実装の例はあなたのini

でこれを置くことであろう
extension=memcache.so
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211?persistent=1"

そしてこれはあなたのcore.phpの中に

Configure::write('Session.save', 'php');

でCakePHPの2.0 APCは自動的に検出して設定します。あなたのcore.phpの中で、あなたは見つけることができます:

$engine = 'File'; 
if (extension_loaded('apc') && function_exists('apc_dec') && (php_sapi_name() !== 'cli' || ini_get('apc.enable_cli'))) {
    $engine = 'Apc';

}

CakePHP 2.2 以降では、自動 APC 検出が無効になっていることに注意してください。

2.2.1 では、APC が検出された場合に使用されました。 https://github.com/cakephp/cakephp/blob/2.2.1/app/Config/core.php

2.3以降のデフォルトエンジンは「ファイル」です。最新の安定版 /app/Config/core.php https://github.com/cakephp/cakephp/blob/2.4.4/app/Config/core.php#L352


2.4.4 以降、これらはサポートされています

  • ファイルエンジン
  • APC
  • ウィンキャッシュ
  • Xキャッシュ
  • メムキャッシュ
  • レディス

ドキュメンテーション:http://book.cakephp.org/2.0/en/core-libraries/caching.html#caching

  • FileCache ファイル キャッシュは、ローカル ファイルを使用する単純なキャッシュです。これは最も遅いキャッシュ エンジンであり、アトミックな操作のための機能はそれほど多くありません。ただし、ディスク ストレージは非常に安価な場合が多いため、大きなオブジェクトや頻繁に書き込まれない要素をファイルに保存すると効果的です。これは 2.3 以降のデフォルトのキャッシュ エンジンです

  • ApcCache APC キャッシュは PHP APC 拡張機能を使用します。この拡張機能は、Web サーバー上の共有メモリを使用してオブジェクトを保存します。これにより、非常に高速になり、アトミックな読み取り/書き込み機能を提供できるようになります。デフォルトでは、2.0 ~ 2.2 の CakePHP はこのキャッシュ エンジンが利用可能な場合にそれを使用します。

  • Wincache Wincache は Wincache 拡張機能を使用します。Wincache は、機能とパフォーマンスの点で APC に似ていますが、Windows と IIS 用に最適化されています。

  • XcacheEngine Xcache は、APC と同様の機能を提供する PHP 拡張機能です。

  • MemcacheEngine Memcache 拡張機能を使用します。Memcache は、多くのサーバーに分散できる非常に高速なキャッシュ システムを提供し、アトミックな操作を提供します。

  • RedisEngine phpredis 拡張機能を使用します。Redis は、memcached に似た高速で永続的なキャッシュ システムを提供し、アトミックな操作も提供します。


どれを使うか気になる方は。それらの開発状況を確認してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top