2015-02-05 2 views
0

Я пытаюсь использовать redis в качестве механизма кэширования, и до сих пор я мог добавить add redis в cakephp, и он записывает мои сессии на мой redis просто отлично. Это то, что я сделал в ядреcakephp redis storage Кроме сеансов

$engine = 'Redis'; 

$prefix = 'myapp_'; 

Cache::config('session', array(
    'engine' => $engine, 
    'prefix' => $prefix . 'cake_session_', 
    'duration' => $duration 
)); 

Configure::write('Session', array(
    'defaults' => 'cache', 
    'timeout' => 100, 
    'start' => true, 
    'checkAgent' => false, 
    'handler' => array(
     'config' => 'session' 
    ) 
)); 

Теперь я хочу, чтобы иметь возможность написать REDIS из моего контроллера некоторых кэшированных запросов, но я не в состоянии спасти в Redis. Вместо этого он сохраняет его по умолчанию (я не знаю, где) кеш.

Это то, что я сделал в моем контроллере

public function index() 
    { 
     Cache::write("TestKey","myquery","default"); 
     var_dump(Cache::read("TestKey")); die;  
    } 

выше дает мне myquery значение в браузере, но когда я иду в Redis-кли и искать ключи * Я не вижу, что там ключ , Таким образом, очевидно, что его спасение где-то еще. Я не уверен, как заставить его писать redis. Я пробовал эту Cache :: write («TestKey», «myquery», «Redis»); но это тоже не сработало. Спасибо за помощь заранее

** EDIT 1 **

Я просто сделал некоторые отладки, и это выглядит, как ее пытаются добавить в файл

object(FileEngine)[3] 
    protected '_File' => null 
    public 'settings' => 
    array (size=10) 
     'engine' => string 'File' (length=4) 
     'path' => string '/Library/WebServer/Documents/phoneapp_backend/app/tmp/cache/' (length=60) 
     'prefix' => string 'cake_' (length=5) 
     'lock' => boolean true 
     'serialize' => boolean true 
     'isWindows' => boolean false 
     'mask' => int 436 
     'duration' => int 3600 
     'probability' => int 100 
     'groups' => 
     array (size=0) 
      empty 
    protected '_init' => boolean true 
    protected '_groupPrefix' => null 

Как изменить его написать Redis?

Благодаря

ответ

2

Вам необходимо настроить конфигурацию default кэша использовать Redis insteado файла. В app/Config/bootstrap.php Изменить

Cache::config('default', array('engine' => 'File')); 

Так гласит:

Cache::config('default', array('engine' => 'Redis')); 

Вы можете добавить дополнительные параметры конфигурации для указания сервера и порт, где Redis работает.

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