hellobetter/silverstripe-cache

为 Silverstripe 提供简单、有效的缓存

安装: 25

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:silverstripe-vendormodule

dev-master 2023-12-31 23:12 UTC

This package is auto-updated.

Last update: 2024-08-30 01:07:22 UTC


README

为 Silverstripe 5 网站提供即时构建的缓存。

虽然独立构建,但基于 Damian Mooyman 的动态缓存模块。

要求

  • Silverstripe 5+

配置

默认情况下通过安装模块启用请求缓存。

您可以添加一系列配置来编程缓存逻辑。

---
Name: custom_cache
After: '*'
---
HelloBetter\Cache\Handler\CacheHandler:
  extensions:
    - MyProject\Extension\CacheCustomisation # Build your own logic for caching
  ignoredClasses:
    - MyProject\MyPage\Page # ignore any pages here
  ignoredPatterns: '/(^\/admin)|(^\/test)|(^\/dev($|\/))|(\/[A-Z])/'

配置

  • enabled - 启用或禁用缓存
  • ignoredClasses - 忽略的页面或控制器
  • ignoredPatterns - 忽略任何 URL 模式
  • cache_ajax - 将 AJAX 请求设置为可缓存。

使用 Cacheable 接口构建自定义 PHP 逻辑

use HelloBetter\Cache\Interface\Cacheable;
use SilverStripe\Core\Extension;

class CacheCustomisation extends Extention implment Cacheable 
{
    public function updateEnabled(bool &$enabled, HTTPRequest $request) : void
    {
        // your custom logic here.
    }

    public function updateKeyFragments(array &$fragments) : void
    {
        // your cache fragment updates here 
    }
}