Invalidace cache + Kdyby\Redis
- exquis
- Člen | 83
Ahoj,
nenapadá někoho proč mi nefunguje invalidace latte cache ve spojení s Kdyby\Redis?
Dokud jsem používal APCu, tak vždy stačilo např. při uložení entity zavolat metodu „$cacheManager->cleanByTag(‚menu‘)“:
declare(strict_types = 1);
namespace App\Modules\StorageModule\Services\Cache;
use App\Modules\CoreModule\Enum\CacheType;
use Nette\Caching\Cache;
use Nette\Caching\IStorage;
final class CacheManager
{
/**
* @var Cache
*/
private $cache;
public function __construct(IStorage $storage)
{
$this->cache = new Cache($storage);
}
public function cleanByTag(string $tag): void
{
$this->cache->clean([
Cache::TAGS => [$tag],
]);
}
}
v latte:
{cache 'menu', expire => '60 minutes', tags => ['menu']}
<div id="menu">
//cokoliv
</div>
{/cache}
a např při přidání položky menu se pak latte cache invalidovala a položka přibyla. Od doby, co jsem nasadil Kdyby\Redis v nastavení:
extensions:
redis: Kdyby\Redis\DI\RedisExtension
redis:
journal: {database: 1}
storage: {database: 1}
session: {database: 2}
tak to mám smůlu a latte zůstává stejné.
Díky za každý nápad
J.
Editoval exquis (21. 11. 2018 16:18)