2015-10-12 5 views
1

Я пытаюсь использовать внешний механизм кэширования, memcached, чтобы подключить мое приложение CakePHP.Как настроить cakephp для использования memcached

У меня есть экземпляр AWS EC2 с приложением, а также кластер AWS ElastiCache с одним узлом, использующим memcached. Модули memcache и memcached php также установлены и включены.

Конфигурация в файле app.php выглядит следующим образом:

'Cache' => [ 
     'default' => [ 
      'className' => 'File', 
      'path' => CACHE, 
     ], 

     'elastic' => [ 
      'className' => 'Cake\Cache\Engine\MemcachedEngine', 
      'compress' => false, 
      'duration' => '+2 minutes', 
      'groups' => [], 
      'host' => 'yyy.euw1.cache.amazonaws.com:11211', 
      'username' => null, 
      'password' => null, 
      'persistent' => false, 
      'prefix' => 'cake_', 
      'probability' => 100, 
      'serialize' => 'php', 
      'servers' => ['yyy.euw1.cache.amazonaws.com:11211'], 
      'options' => [], 
      'lock' => true 
     ] 

Для выбора того или нет запросов к базе данных, это условие используется:

if (($car = Cache::read('car', 'elastic')) === false) { 

    $car = $this->Cars->get(); 
    Cache::write('car', $car, 'elastic'); 

} 

К сожалению, после того, как долго page load Я получаю эту ошибку:

"elastic cache was unable to write to DebugKit\Cache\Engine\DebugEngine cache" 

Кто-нибудь знает происхождение этой ошибки? Может ли кто-нибудь вести меня через конфигурацию memcached для cakephp, используя внешний механизм кэширования?

Благодарим заранее!

+0

Hi. Какую версию торта вы используете, и попробовали ли вы установить директивы кэша в core.php? – user1658296

ответ

0

Благодарим вас за ответ.

Эта проблема сейчас закрыта. Нам пришлось разрешить IP-доступ между EC2 и CloudCache Cluster.