andreacardelli/pitbullcache

dev-master 2020-02-20 14:08 UTC

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