andreacardelli / pitbullcache
PHP 缓存系统
dev-master
2020-02-20 14:08 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2024-09-21 00:26:01 UTC
README
PitBullCache 是一个快速且简单的 PHP 缓存库,具有所需的最小功能,可以抽象不同的缓存机制。它易于使用且易于实现新的缓存机制(MemCache,...)。
使用 PitBullCache,您可以通过缓存任何类型的数据来加速网站:变量、查询甚至完整的 HTML 页面。
目前 PitBullCache 抽象的缓存系统包括
- 文件系统:使用文件系统在包含序列化数据的目录中保存数据,每个唯一键一个文件
- Redis (Predis\Client)
- Amazon S3 (tpyo/amazon-s3-php-class)
实现的方法包括
- 获取键
- 存储键
- 删除键
- cleanUpExpired(仅适用于文件系统)
安装
Composer
PitBullCache 支持 Composer,只需添加 Packagist 依赖项
{ "require": { "andreacardelli/pitbullcache": "dev-master" } }
如何使用它
我们可以使用任何类型的缓存,以下是一个使用 "file" 类型缓存完整 HTML 页面的示例,第三个参数包含每个低级存储使用的配置(文件:目录,redis:predis\client 的标准配置,S3:密钥和秘密)
定义您的缓存(允许为不同目的定义多个缓存)
Pitbull_Cache::Register("file","Pitbull_Filesystem_Cache","/pitbullcache.cache/"); $_cache = Pitbull_Cache::Create("file");
定义您的唯一键
$idpagecache = md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
如果存在并且仍然有效,则检索您的键的缓存值,否则返回 false
if ($page=$_cache->fetch($idpagecache)) { echo $page; exit(); }
对于存储键...
// caching full html $page for 1 day (86400 seconds) $_cache->store($idpagecache,$page,86400);
(可选)对于文件系统清理和 S3,我们添加了一个类,可以与批量作业(cron)一起调用,对于其他类型的缓存存储,它仅返回缓存活动的对象数
$_cache->cleanUpExpired('array'); // or 'json' to get back number of deleted items