bigyouth / page-cache-bundle
Requires
- php: ^5.3.9|^7.0
- symfony/cache: ^3.1
This package is auto-updated.
Last update: 2024-09-09 07:48:18 UTC
README
这是什么?
这个包提供了一个简单的页面缓存解决方案,作为应用程序内的反向代理工作。
要求
"php": "^5.3.9|^7.0", "symfony/cache": "^3.1"
安装
下载包
在https://getcomposer.org/download/下载Composer
composer require bigyouth/page-cache-bundle
注册包
通过将包添加到项目app/AppKernel.php文件中registerBundles方法的包数组来启用包
<?php # app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = [ // ... new Bigyouth\BigyouthPageCacheBundle\BigyouthPageCacheBundle(), ]; // ... } // ... }
配置
以下是默认包配置
# app/config/config.yml bigyouth_page_cache: enabled: false ttl: 300 type: "filesystem" exclude: []
enabled
default : false
设置为true
以启用包。
ttl
default : 300
缓存有效期。此值上下浮动+5%/-5%,以避免多个缓存同时过期。
type
default: filesystem
此参数可以设置两个值:filesystem
和redis
。
如果使用filesystem,缓存将写入缓存文件夹:var/cache/by_cache
。
exclude
default : empty array
此参数允许您定义将被排除在页面缓存之外的URL方案。
ex
exclude: - "app_dev.php" - "back" - "login" - "logout" - "login_check"
包含上述术语之一的每个URL将不会通过BigyouthPageCacheBundle处理。
redis_host
default : localhost
Redis主机。此参数仅在type参数设置为redis
时使用。
redis_port
default : 6379
Redis端口。此参数仅在type参数设置为redis
时使用。
使用
缓存
要使用BigyouthPageCacheBundle,您的控制器必须扩展PageCacheController.php类并使用render函数
<?php // ... class AcmeController extends PageCacheController { // ... public function indexAction(Request $request) { // ... return $this->render('FrontBundle:Page:index.html.twig'); } }
PageCacheController重新编写了render函数来管理和渲染缓存数据。所有使用render函数的控制器操作都将被缓存。
缓存失效
BigyouthPageCacheBundle使用缓存标签来识别您的缓存数据。这些标签由缓存页面的URL方案定义。
例如,位于/products/list/my-product之后的页面将被标记为products、list和my-product。
因此,您可以在控制器中执行以下操作来使产品页面失效
// ... $this->get('by.page_cache')->invalidate(["my-product"]); // ...
或者,如果您想使所有产品页面失效
// ... $this->get('by.page_cache')->invalidate(["products"]); // ...
作者
- Alexis Smadja - 初始工作 - Alxss
还可以查看参与此项目的贡献者列表。
许可证
本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。