2011-01-06 2 views
2

Я новичок в php и cakephp, недавно мне было назначено задание по внедрению memcache в моем приложении, чтобы его производительность могла быть увеличена. Может ли кто-нибудь предложить мне документацию по этой теме? Спасибо.Как реализовать memcache в cakephp?

+2

Вы уверены, что вам нужна memcache для масштабирования вашего приложения? Преждевременная оптимизация - это корень всего зла. Сначала напишите свое приложение, затем измерьте производительность, затем определите, где узкие места производительности, а затем определите, где и какое кэширование или другие методы вам нужно использовать. Сначала используйте memcached, если необходимо. – sibidiba

+0

Приложение уже написано и работает, мы обнаружили шейки бутылок (т. Е. Запросы mysql), поэтому теперь я решил использовать memcached ... – Himanshu

+0

Если ваше приложение не распределено (т. Е. Только 1 сервер приложений), APC обеспечивает достаточное кэширование. Вы должны установить его независимо от того, что байтовый код интерпретатора PHP будет кэшироваться. Если вы используете CakePHP 2.x, APC уже является алгоритмом кэширования по умолчанию. Вы можете оптимизировать свое приложение, используя API кеша, описанный в книге book.cakephp.org/2.0/en/core-libraries/caching.html –

ответ

2

Memcache - один из поддерживаемых движков Cache встроенным классом Cache. Класс Cache является оберткой для взаимодействия с кэш, и вы можете прочитать все об этом здесь: http://book.cakephp.org/2.0/en/core-libraries/caching.html

+0

Привет, Бьорн, спасибо 4 ответа, но я попробовал его и все еще не смог разобраться. – Himanshu

+0

Выясните, что именно? У вас есть точная проблема? –

+1

Неработающая ссылка. Для 2.x: http://book.cakephp.org/2.0/en/core-libraries/caching.html –

1

Чернокнижника

Вот более конкретная реализация Memcache и CakePHP, которые могут помочь с горлышком

Отправьте базу данных в отпуск с помощью CakePHP + Memcached

http://nuts-and-bolts-of-cakephp.com/2009/06/17/send-your-database-on-vacation-by-using-cakephp-memcached/

+0

Имеет ли CakePHP встроенный контроллер Memcache? – Himanshu

+0

Нет, это не контроллер. – jbrass

3

Это может быть немного поздно ... но ядро ​​Cake имеет поддержку Memcac hed встроен (по крайней мере, в последних версиях 2.0.x и 2.1).

Посмотрите Config/core.php в вашем приложении, и вы должны увидеть эти строки (комментируемые):

Cache::config('default', array(
      'engine' => 'Memcache', //[required] 
      'duration' => 3600, //[optional] 
      'probability' => 100, //[optional] 
      'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string 
      'servers' => array(
        '127.0.0.1:11211' // localhost, default port 11211 
     ), //[optional] 
      'persistent' => true, // [optional] set this to false for non-persistent connections 
      'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory) 
)); 

Вы можете раскомментировать эти строки и проверить его с Memcached установки. Убедитесь, что у вас есть Memcached, где-то установлен (localhost или где-либо еще), и вы указываете на него.

Смежные вопросы