CakePHP APC, XCache ve diğerleri için destek var mı?

5 Cevap php

CakePHP APC, XCache ve diğerleri için destek var mı?

5 Cevap

Eğer önbellek motor (1.2 daha yeni bir sürümü) ayarlamak için kekinin içinde /app/config/core.php, bazı seçenekler var. Örn.

  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
));

Bu bir opcode önbellek olarak APC destek olmalı - afterall, sadece PHP kodu bulunuyor.

And it seems there is an APC-related class to use APC as a cache for data : see ApcEngine.
See also, in the manual : 7.2.2 Cache Engines in Cake, in which it says there is support for APC, XCache, File, and memcached.

Sadece zaten sağlanan diğer iyi yanıtlar eklemek için, iç önbelleğe bulunuyor dosya önbelleği başka bir şey kullanmak için pasta almak için bazı püf noktaları vardır. Bu kod pasta kullanımı APC, XCache, ne olursa olsun çekirdek önbellek bulunuyor için (bu örnekte APC) yapacak

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

Kek da kontrolörleri / AppController bu koyarak modelleri önbelleğe alabilir.

var $persistModel = true;

Ancak, modeller yalnızca dosya önbelleği kullanabilir

Bunların hepsi sizin app hızlandırmak için kekinin önbelleğe alma mekanizmaları kullanma yolları bir demet içeren bu makalede, çalındı

http://www.pseudocoder.com/archives/8-ways-to-speed-up-cakephp-apps

Ayrıca, Pascal APC yükleme ve yapılandırarak, belirtildiği gibi, PHP opcode otomatik olarak önbelleğe alınır.

Daha önbelleğe alma iyiliği için, php yükü dengeli ortamlarda özellikle yararlıdır bir oturum mağaza gibi dosyaları bir alternatif olarak memcache destekler. Tek bir sunucu uygulamasının bir örneği sizin ini bu koymak olacaktır

extension=memcache.so
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211?persistent=1"

Ve bu core.php içinde

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

CakePHP 2.0 Apc otomatik olarak algılanır ve ayarlanır. Lütfen core.php bulabilir:

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

}

CakePHP 2.2 sonra, otomatik APC algılama devre dışı olduğunu unutmayın.

2.2.1 APC kullanılan, tespit ise: https://github.com/cakephp/cakephp/blob/2.2.1/app/Config/core.php

2.3 varsayılan motoru "Dosya" olduğu. Son kararlı /app/Config/core.php https://github.com/cakephp/cakephp/blob/2.4.4/app/Config/core.php#L352


2.4.4 itibariyle bu desteklenmektedir

  • Dosya motoru
  • APC
  • WinCache
  • XCache
  • Memcache
  • Redis

Documentation: http://book.cakephp.org/2.0/en/core-libraries/caching.html#caching

  • FileCache Dosya önbellek yerel dosyaları kullanan basit bir önbellek. Bu, yavaş önbellek motorudur ve atomik işlemler gibi birçok özellik sağlamaz. Ancak, bu yana disk depolama büyük nesneler, ya da seyrek dosyaları iyi çalışır yazılmış depolama elemanları, genellikle oldukça ucuz. Bu 2.3 + için varsayılan önbellek motoru

  • ApcCache APC cache PHP APC uzantısını kullanır. Bu uzantı nesneleri depolamak için web sunucusu paylaşılan hafızayı kullanır. Bu çok hızlı ve atomik okuma / yazma özellikleri sağlamak mümkün kılar. O kullanılabilir varsa, varsayılan CakePHP'de tarafından 2,0-2,2 bu önbellek motoru kullanacak.

  • WinCache WinCache WinCache uzantısını kullanır. WinCache özellikleri ve performansı APC benzer, ancak Windows ve IIS için optimize edilmiş.

  • XcacheEngine XCache APC benzer özellikleri sağlayan bir PHP uzantısıdır.

  • MemcacheEngine Memcache uzantısını kullanır. Memcache birçok sunucu arasında dağıtılmış olabilir, çok hızlı önbellek sistemi sağlar ve atomik işlemleri sağlar.

  • RedisEngine phpredis uzantısını kullanır. Redis, memcached benzer bir hızlı ve kalıcı bir önbellek sistemi sağlar, aynı zamanda atomik işlemleri sağlar.


Hangi birini kullanarak merak ediyorsanız. Bunların geliştirilmesi durumunu kontrol edin.