【发布时间】:2018-01-12 05:27:30
【问题描述】:
我有一个 Symfony REST API 应用程序。
在存储库中我检索一些数据并使用 Doctrine Paginator 进行分页,然后在控制器中我使用 Symfony Serializer 将这些数据序列化为 JSON。
存储库方法:
public function getCategories($limit, $offset)
{
$qb = $this->em->createQueryBuilder()
->select('c')
->from('Category:Category', 'c')
->getQuery()->setFirstResult($offset)
->setMaxResults($limit);
$paginator = new Paginator($qb);
return ['total' => count($paginator), 'items' => $paginator];
}
在控制器中:
$data = $this->serializer->serialize($data, 'json', $context);
return new JsonResponse($data, $code, [], true);
现在我想使用 Redis 实现数据缓存。我该怎么做?
我应该将序列化程序注入存储库,在那里序列化我的数据并将标量值存储在 Redis 中吗?
或者我应该使用 Doctrine Result Cache(它没有说明分页查询)?
【问题讨论】:
标签: php symfony caching pagination doctrine