Symfony2에서 데이터를 캐시 할 수있는 가능성 (또는 외부 번들)이 있습니까?symfony2에서 데이터를 캐시하는 방법
예를 들어 파일 시스템에 간단한 키 - 값 저장을 사용하여 페이지 자체를 캐시하지 않고 응용 프로그램 내부의 데이터를 캐시합니다.
Symfony2에서 데이터를 캐시 할 수있는 가능성 (또는 외부 번들)이 있습니까?symfony2에서 데이터를 캐시하는 방법
예를 들어 파일 시스템에 간단한 키 - 값 저장을 사용하여 페이지 자체를 캐시하지 않고 응용 프로그램 내부의 데이터를 캐시합니다.
지금은 Symfony2에서 캐싱을위한 유일한 해결책이 없습니다. 프레임 워크의 일부분은 Doctrine Common을 사용합니다.
는 Symfony2 경우 "표준"캐싱 솔루션에 대한 논의가 있지만 우리는 몇 시간을 기다려야 할 것이다 ...
이제 교리의 캐싱 시스템은 부족 일반적인 https://github.com/doctrine/cache – gagarine
LiipDoctrineCacheBundle을 사용하면 Doctrine common의 캐시 드라이버를 Symfony 프로젝트에 통합 할 수 있습니다.
잘 이해하면 동일한 세션을 더 많이 실행하지 않으려면 같은 세션에서 새 컨트롤러가 다시 호출 될 때 세션에 첨부 된 데이터를 저장하고 싶습니다 (예 : 데이터베이스에서 테이블 읽기).
당신은 당신의 컨트롤러에서 세션 시스템을 사용할 수 있습니다 :
<?php
namespace YourStuff\YourBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
class YourController extends Controller
{
$session = $this->get("session");
$variabile = 4;
$session->set("variableName",$variable); // setter
if ($session->has("variableName") // to check if the variable exists
{
$variableName = $session->get("variableName"); // getter
}
}
이 예입니다; 세션의 수명이 아직 만료되지 않은 경우 "variableName"은 같은 세션이 다음에 호출 될 때 액세스 할 수 있습니다.
"세션"은 PHP의 __SESSION 변수를 사용하므로 원하는 수명을 제공하려면 session.cookie_lifetime 및 session.gc_maxlifetime을 올바르게 설정해야합니다.
세션은 캐시가 아닙니다! 그것을 남용하지 마십시오. 대신 파일 또는 메모리 캐시를 사용하십시오. 파일 시스템, memcache, reds 등 –
나는 winzouCacheBundle을 사용하고 있습니다. 다른 백엔드 (apc, file, memcache, array, xcache, zenddata)에 캐시 된 캐시 API를 제공합니다.
나는 DoctrineCacheBundle이 인 것으로 생각합니다.
DoctrineCacheBundle을 사용하면 Symfony 응용 프로그램이 Doctrine Cache 라이브러리를 통해 다른 캐싱 시스템을 사용할 수 있습니다.
또한보십시오 https://stackoverflow.com/questions/8893081/how-to-cache-in-symfony-2 – Czechnology