【问题标题】:Doctrine Cache Symfony2 deleteByPrefixDoctrine Cache Symfony2 deleteByPrefix
【发布时间】:2013-10-18 05:04:32
【问题描述】:

我想删除所有以字符串为前缀的缓存条目,但我的代码返回:

Fatal error: Call to undefined method Doctrine\Common\Cache\FilesystemCache::deleteByPrefix()

我的代码是

$deleted = $cachemanager->deleteByPrefix('catalog_');

就像我检查的那样:进入教义文档http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/caching.html#deleting

我需要从控制器清除缓存,而不是从 CLI...

有人可以替代此方法'deleteByPrefix()'吗?

【问题讨论】:

  • 您的缓存管理器实际上是一个FilesystemCache 对象,它具有no method deleteByPrefix。使您的 $cachemanager 成为一个对象的实例,该对象将 包装 学说的缓存并添加您的自定义方法

标签: php caching symfony doctrine-orm


【解决方案1】:

您可以使用命名空间。这将需要重新组织您的缓存。或者您可以编写自己的实现(扩展 Doctrine\Common\Cache\FilesystemCache)来实现 deleteByPrefix(),但您将使用简单地切换缓存提供程序的能力。

【讨论】:

  • 在使用命名空间时,如何删除具有特定命名空间的所有条目?没有'deleteAll()'函数...
  • 你不是想说:“你将失去切换缓存提供者的能力”吗?
【解决方案2】:

最后,我来使用 Zend Framework 缓存包,它允许按前缀删除...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2015-06-16
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多