在Symfony2中是否有内置的可能性(或外部包)来缓存数据?
我不想缓存页面本身,而是应用程序中的数据,例如使用简单的键值对存储在文件系统中。
我认为 DoctrineCacheBundle 目前是最好的选择。
DoctrineCacheBundle 允许您的 Symfony 应用程序通过 Doctrine Cache 库使用不同的缓存系统。
目前,Symfony2中没有唯一的缓存解决方案。框架的某些部分使用Doctrine Common。
关于Symfony2的“标准”缓存解决方案有讨论,但我们需要等待一段时间……
<?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" 变量可以在同一会话被调用时访问,如果会话的生命周期尚未过期。
"session" 使用 PHP 的 __SESSION 变量,所以请确保正确设置 session.cookie_lifetime 和 session.gc_maxlifetime,以便提供所需的生命周期。