Symfony2にデータをキャッシュするための組み込みの可能性(または外部バンドル)はありますか?
ページ自体をキャッシュしたくはありませんが、アプリケーション内のデータをキャッシュします。たとえば、単純なキー->値をファイルシステムに保存します。
組み込みのソリューションはありませんが、 APC、Redis、またはMemcacheを試してみることをお勧めします(これらはすべてインメモリ データストアです)。
私はwinzouCacheBundleを使用しています。さまざまなバックエンド (apc、file、memcache、array、xcache、zenddata) で合理化されたキャッシュ API を提供します。
今のところ、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
}
}
これは一例です。セッションの有効期限がまだ切れていない場合、次に同じセッションが呼び出されるときに「変数名」にアクセスできます。
「セッション」は PHP の __SESSION 変数を使用するため、必要な有効期間を与えるために、session.cookie_lifetime と session.gc_maxlifetime を正しく設定してください。