2016-10-17 3 views
4

Я пытаюсь настроить кеш Symfony 3.1 с помощью Redis. Я следую за этот учебник:Настройка компонента кэширования Symfony 3.1 с помощью Redis

https://symfony.com/blog/new-in-symfony-3-1-cache-component

Я установлены predis/predis и SncRedisBundle.

В моей config.yml я поставил

framework: 
    cache: 
     app: cache.adapter.redis 
     default_redis_provider: redis://192.168.34.10 
    snc_redis: 
    clients: 
     default: 
      type: predis 
      alias: default 
      dsn: redis://192.168.34.10 
      logging: %kernel.debug% 
     cache: 
      type: predis 
      alias: cache 
      dsn: redis://192.168.34.10 
      logging: %kernel.debug% 
      options: 
       connection_timeout: 10 
       read_write_timeout: 30 

Теперь, когда я пытаюсь Redis доступа через snc_redis он работает нормально. Но когда я пытаюсь использовать компонент кэша:

public function getLoggedUserAcl($userId) 
{ 
    $cachedResources = $this->cacheAdapter->getItem('acl.rules'); 
    $cachedResources->expiresAfter(100); 

    if ($cachedResources->isHit()) { 
     dump('hit'); 
     $resources = $cachedResources->get(); 
    } else { 
     dump('not-hit'); 
     $resources = $this->api->getCollection(Resource::class, null, null, [ 
      'userId' => $userId 
     ]); 

     $cachedResources->set($resources); 
    } 

    return $resources; 
} 

CacheAdapter является @cache.app обслуживание.

Свалка все время NOT_HIT. В журналах нет ничего относительно REDIS.

Не могли бы вы рассказать мне, где я ошибся, или дать мне подсказку, что может быть неправильным?

+0

Missing '$ this-> cacheAdapter-> сохранить ($ cachedResources);' – malcolm

+0

Я не могу поверить, что это было так тривиально , Спасибо @malcolm, можете оставить свой комментарий в качестве ответа. Я согласен с этим. Оно работает. – Robert

+0

Спасибо :) Рад я мог помочь :) – malcolm

ответ

6

Самое главное, что вы пропустили здесь, чтобы сохранить результат в кэше:

$cachedResources->set($resources); 

$this->cacheAdapter->save($cachedResources); 

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

  • Нет связанных вопросов^_^