gpt4 book ai didi

php - LswMemcacheBundle 中的缓存生命周期

转载 作者:搜寻专家 更新时间:2023-10-31 20:42:17 25 4
gpt4 key购买 nike

我决定使用 LswMemcacheBundle(在 Symfony2 中)将 Doctrine2 查询缓存到 memcached 中,但我遇到了一个问题。我找不到任何关于更改缓存生命周期的可能性的信息,甚至是关于默认生命周期的信息。

有没有人可以提供给我这样的信息?

最佳答案

看起来结果缓存并未为所有查询启用(但查询缓存已启用),我们需要使用 useResultCache 方法启用它。此方法还允许我们设置缓存生命周期。

所以它看起来像这样

$em->createQuery('SELECT a FROM SomeBundle:Entity a')
->useResultCache(true, 3600, 'cacheId')
->getResult();

createQueryBuilder

$repository = $this->getEntityManager()->getRepository('SomeBundle:Entity');
$qb = $repository->createQueryBuilder('g');
$qb->andWhere('g.categoryId = :categoryId')->setParameter('categoryId', '1');
$qb->addOrderBy('g.id', 'DESC');

$query = $qb->getQuery();
$query->useResultCache(true, 3600, 'cacheId');

3600 是缓存生命周期(以秒为单位),cacheId 是我们的缓存键。

关于php - LswMemcacheBundle 中的缓存生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19436890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com