Symfony缓存不适用于类/对象

时间:2018-06-07 07:22:27

标签: php symfony object caching serialization

我使用了一些php库,并生成了类

的元素
 $elnew = new LibClass();

我想将此变量保存到缓存中。 如果我这样做

$elem = $cache->getItem($ig_name);
if (!$elem->isHit()) {
  $elem->set($elnew);
  $cache->save($ig);
}

$elem->isHit()总是假的。我检查了缓存如何使用字符串 - 一切正常。 此外,我无法对这个对象进行重新分析/取消分析,因为它说

  

不允许序列化'关闭'

并且无法修改LibClass

如何将$elnew保存到缓存中? symfony组件的任何变种?或者也许其他的lib可以帮助我?

1 个答案:

答案 0 :(得分:1)

  

不允许序列化'关闭'

您可以使用PHP SuperClosure library来摆脱这种情况。

您还可以尝试其他内存存储,例如 Redis Memcache 来缓存您的对象。请参阅此resolved stackoverflow question