至于我自己看着办,这似乎是成立的Memcached并设置TTL和命名空间的方式,但他们在高速缓存中没有效果。密钥没有用命名空间作为前缀,并且过期是无限的。设定的TTL和命名空间Zend框架2使用Memcached的
$MemcachedOptions = new \Zend\Cache\Storage\Adapter\MemcachedOptions();
$MemcachedResourceManager = new \Zend\Cache\Storage\Adapter\MemcachedResourceManager(1, new \Zend\Cache\Storage\Adapter\Memcached());
$MemcachedResourceManager->addServer(1, array('localhost', 11211));
$MemcachedOptions->setResourceManager($MemcachedResourceManager);
$MemcachedOptions->setNamespace('FooBar_');
$MemcachedOptions->setTtl(10);
$cache = $MemcachedOptions->getResourceManager()->getResource(1);
$cache->set('foobar_key','I am in cache');
有没有人有任何提示,线索?任何帮助将非常感激。
好极了!这起作用(将namesapce更改为名称空间)。谢谢你的两种帮助我理解的方式。 – Roland
试图让我的头“针对不同类型的项目的.. \ Memcached的不同实例”。在这种情况下什么是“项目”,为什么你想要另一个Memcached实例?上面的工厂将始终使用相同的实例(除非另有说明)否? – Roland
'.. \ Memcached针对不同类型项目的不同实例':一种类型的项目可以是用户,另一种类型可以是产品。他们每个人都想配置不同的ttl /命名空间等。如果您在存储或阅读项目之前不想更改配置,则需要使用不同的实例。 PS:''Zend \ Cache \ StorageFactory''不共享实例 - 它会在每次调用时创建一个新实例。 –