divineomega / do-file-cache
DO 文件缓存是一个基于文件的 PHP 缓存库。它的语法设计得非常类似于 PHP 的 memcache 扩展。
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^6.5
README
DO 文件缓存是一个基于文件的 PHP 缓存库。
它的语法设计得非常类似于 PHP 的 memcache
扩展。
安装
您可以使用 composer 轻松安装。只需运行 composer require divineomega/do-file-cache
。
如果您需要 PSR-6 缓存,请查看 DO 文件缓存的 PSR-6 适配器。
用法
本节将向您展示如何使用 DO 文件缓存。如果您之前使用过 memcache
,这应该非常熟悉。
设置 & 配置
在您可以使用 DO 文件缓存之前,您必须实例化它,然后,如果您希望,设置一些配置选项。
require_once "vendor/autoload.php"; $cache = new \DivineOmega\DOFileCache\DOFileCache(); $cache->changeConfig(["cacheDirectory" => "/tmp/DOFileCacheStorage/"]);
以下代码创建了一个名为 $cache
的新 DO 文件缓存对象,并将其配置为在 /tmp/DOFileCacheStorage/
目录中存储其缓存文件。
您可以根据需要覆盖几个不同的配置变量。下表描述了它们。
设置缓存项
将内容放入文件缓存非常简单。您只需使用以下示例中所示的 set
方法。
$cache->set('nursery_rhyme',"Mary had a little lamb", strtotime('+ 1 day'));
第一个参数是缓存键,它唯一引用此缓存项。
第二个参数是缓存值 - 您希望存储在此缓存项中的内容。这可以是字符串、整数、数组、对象或任何类型的可序列化 PHP 变量。
第三个参数是过期时间。它可以指定为 UNIX 时间戳或为少于 30 天的秒数。当达到此时间时,缓存项将过期且无法检索。
请注意,如果您在缓存键中使用点、连字符、下划线或其他一些特殊字符,创建的缓存文件将放入目录结构中。例如,缓存键 objects.cars.redCar
将存储在 objects/cars/redCar.cache
中。如果您希望分类缓存文件并防止太多缓存文件堆积在单个目录中,这很有用。
获取缓存项
要获取之前存储的缓存项,您需要使用 get
方法。以下是如何操作的示例。
$var = $cache->get('nursery_rhyme');
唯一的参数是您设置缓存项时定义的缓存键。您可以通过这种方式检索任何已缓存的变量。
其他 DO 文件缓存方法
设置和检索缓存项是 DO 文件缓存最重要的部分。实际上,set
和 get
方法可能就是您需要的全部。
但是,如果需要,库提供了以下更高级的命令。
$cache->delete($key)
- 从缓存中删除特定的项。$cache->flush()
- 删除缓存中的所有项。$cache->replace($key, $content, $expiry)
- 与set
方法类似,但仅当缓存项已存在时才会更新缓存项的值。$cache->increment($key, $offset)
- 通过指定的偏移量(或省略偏移量时为 1)增加数值缓存项的值。$cache->decrement($key, $offset)
- 通过指定的偏移量(或省略偏移量时为 1)减少数值缓存项的值。