stadline/execution-cache-bundle

此Bundle为Symfony控制器提供执行缓存。

安装数: 3,365

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 14

分支: 0

开放问题: 0

类型:symfony-bundle

v0.3.2 2018-08-14 14:28 UTC

This package is not auto-updated.

Last update: 2024-09-26 08:48:16 UTC


README

此Bundle在应用程序级别提供缓存机制。它与反向代理级别的HTTP缓存非常相似,但执行缓存是在更晚的时候完成的。这样,请求已经通过安全层检查,但如果结果应该相同,我们仍然可以运行控制器两次。

缓存存储将根据请求头和请求体提供不同的结果。如果发送了两次完全相同的请求且响应被缓存,则不会运行控制器,而是发送响应。

步骤 1:安装AdapterBundle

此Bundle使用由https://github.com/php-cache/adapter-bundle提供的PSR-6缓存实现。它可以是由Memcached、Redis、文件系统、空或您自己的实现。选择权在您手中!

在安装此Bundle之前,请查看他们的文档。

步骤 2:安装Bundle

打开命令行,转到您的项目目录,并执行以下命令以下载此Bundle的最新稳定版本

$ composer require stadline/execution-cache-bundle

此命令要求您全局安装Composer,如Composer文档中的安装章节中所述。

步骤 3:启用Bundle

然后,通过在您的项目中的app/AppKernel.php文件中添加以下行来启用此Bundle

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new Stadline\ExecutionCacheBundle\StadlineExecutionCacheBundle(),
        );

        // ...
    }

    // ...
}

步骤 4:添加ExecutionCache注解

要启用缓存,您必须在要缓存的控制器方法上添加一个注解。

<?php

namespace AcmeBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Stadline\ExecutionCacheBundle\Annotation\ExecutionCache;

class BrandController extends Controller
{
    /**
     * @ExecutionCache(lifetime=3600)
     */
    public function indexAction(Request $request)
    {
        // do some heavy stuff
    }
}

如果您想设置缓存TTL,也可以这样做,但这不是必需的。

这就完了!

配置

您可以轻松覆盖配置

# Default configuration for extension with alias: "stadline_execution_cache"
stadline_execution_cache:
    storage:
        prefix:               exc_
        default_ttl:          300
        pool_adapter:         cache

您可以设置键前缀和默认TTL。

pool_adapter可以是任何CachePool实现,请参阅http://www.php-cache.com/en/latest/symfony/adapter-bundle/#configuration

例如,如果您定义了一个名为my_filesystem的提供者,您可以使用cache.provider.my_file_system(或者如果它是默认提供者,则只需使用cache