高性能 PHP 缓存库,基于 Symfony Cache 组件,专为 FastD 框架设计。
- 多层缓存架构(缓存池 + HTTP 中间件)
- 高性能设计(连接池、适配器复用)
- 灵活配置(支持文件、Redis、Memcached)
- 开箱即用(简洁 API,丰富配置)
- PHP >= 8.2
- Composer
- Symfony Cache ^8.0
composer require fastd/cache创建配置文件 config/cache.php:
<?php
return [
'file' => [
'adapter' => [
'class' => \Symfony\Component\Cache\Adapter\FilesystemAdapter::class,
],
'namespace' => 'app',
'lifetime' => 3600,
'directory' => __DIR__ . '/../runtime/cache/',
]
];注册服务提供者 app.php:
<?php
return [
'services' => [
\FastD\Cache\ServiceProvider\CacheServiceProvider::class,
]
];// 获取缓存适配器
$cache = cache('file');
// 存储数据
$item = $cache->getItem('user_123');
$item->set(['name' => 'John'])->expiresAfter(3600);
$cache->save($item);
// 读取数据
$item = $cache->getItem('user_123');
if ($item->isHit()) {
$user = $item->get();
}详细使用说明请查看安装指南
- File System - 开发环境,简单可靠
- Redis - 高并发场景,性能极高
- Memcached - 键值缓存,配置简单
- PHP Files - 高频读取,性能最优
各适配器详细配置请查看文档
GET 请求 → 缓存检查 → 应用逻辑
- GET 请求缓存,其他请求直通
- CRC32 算法生成高效缓存键
- 内置连接池管理连接复用
XMCache 是一个强大的 HTTP 缓存中间件,提供页面级缓存能力:
核心特性:
- 自动缓存 GET 请求的 200 响应
- 智能缓存键生成(路径 + 查询参数)
- 缓存状态头标识(HIT/MISS)
- 可配置缓存生命周期
- 支持自定义缓存键
使用示例:
// 配置缓存中间件
// config/cache.php
return [
'httpCache' => [
'lifetime' => 3600, // 缓存 1 小时
'cache_keys' => ['page', 'limit'], // 参与缓存键的查询参数
],
];
// 注册中间件
// config/middleware.php
return [
\FastD\Cache\Middleware\XMCache::class,
];响应头说明:
# 缓存未命中(首次请求)
X-M-Cache: mc1234567890
X-M-Cache-Status: MISS
Expires: Thu, 28 May 2026 17:00:00 GMT
# 缓存命中(后续请求)
X-M-Cache: mc1234567890
X-M-Cache-Status: HIT
Expires: Thu, 28 May 2026 17:00:00 GMT工作流程:
- 检查请求方法(仅缓存 GET)
- 检查请求头中的自定义缓存键
- 自动生成缓存键(路径 + 参数 CRC32)
- 查询缓存,命中则直接返回
- 未命中则执行请求,缓存响应
- 设置缓存状态头和过期时间
composer install
./vendor/bin/phpunit欢迎提交 Issues 和 Pull Requests。
git clone https://github.com/fastdlabs/cache.git
cd cache
composer install
composer testMIT License

