2017-06-17 53 views
-2

在我service.yml如何在symfony2.8中设置或获取缓存中的值?

cache: 
    class: Doctrine\Common\Cache\PhpFileCache 
    arguments: [%kernel.cache_dir%] 

////////////////////

而且在我的控制器

$cache = $this->get('cache'); 

if ($cache->fetch($cache_key) != NULL) { 

///mycode 

} 

///////////////

我SilencedError是

1-包括(\应用\缓存\ dev的\ 30 \ 446f637472696e654e616d657370 61636543616368654b65795b5d.doctrinecache.php):无法打开流:没有这样的文件或目录

+0

你是否也有这样的文件夹是在和错误? – kRicha

回答

0

您试图获取条目而不检查它是否存在。获取条目前使用$cache->contains($cache_key)

由于PhpFileCache类扩展FileCache延伸CacheProvider您应检查类可用的功能来创建和检索缓存条目:

/** 
* {@inheritdoc} 
*/ 
public function fetch($id) 
{ 
    ... 
} 

/** 
* {@inheritdoc} 
*/ 
public function fetchMultiple(array $keys) 
{ 
    ... 
} 

/** 
* {@inheritdoc} 
*/ 
public function saveMultiple(array $keysAndValues, $lifetime = 0) 
{ 
    ... 
} 

/** 
* {@inheritdoc} 
*/ 
public function contains($id) 
{ 
    ... 
} 

/** 
* {@inheritdoc} 
*/ 
public function save($id, $data, $lifeTime = 0) 
{ 
    ... 
} 
+0

我将数据保存到缓存$ cache-> save($ cache_key,$ data)和我的类FileCache,CacheProvider存在,但显示错误 –

相关问题