raorsa/rw-file-cache

RW 文件缓存是一个基于文件的 PHP 缓存库。其语法设计得与 PHP 的 memcache 扩展非常相似。

1.3 2024-05-23 07:18 UTC

This package is auto-updated.

Last update: 2024-09-23 11:21:01 UTC


README

Build Status Coverage Status StyleCI Packagist

RW 文件缓存是一个基于文件的 PHP 缓存库。

其语法设计得与 PHP 的 memcache 扩展非常相似。

安装

您可以使用 composer 轻松安装。只需运行 composer require rapidwebltd/rw-file-cache

如果您正在使用 Laravel,建议您使用 RW 文件缓存的 Laravel 缓存驱动程序

使用方法

本节将向您展示如何使用 RW 文件缓存。如果您之前使用过 memcache,这应该非常熟悉。

设置与配置

在您可以使用 RW 文件缓存之前,您必须实例化它,然后(如果需要),设置一些配置选项。

require_once "vendor/autoload.php";

$cache = new \rapidweb\RWFileCache\RWFileCache();

$cache->changeConfig(["cacheDirectory" => "/tmp/rwFileCacheStorage/"]);

以下代码创建了一个名为 $cache 的新 RW 文件缓存对象,并将其配置为将缓存文件存储在 /tmp/rwFileCacheStorage/ 目录中。

您可以根据需要覆盖几个不同的配置变量。下表描述了它们。

设置缓存项

将内容放入文件缓存非常简单。您只需使用以下所示的 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');

唯一的参数是您设置缓存项时定义的缓存键。您可以通过这种方式检索任何已缓存的变量。

其他 RW 文件缓存方法

缓存项的设置和检索是 RW 文件缓存最重要的部分。实际上,setget 方法可能就是您需要的全部。

但是,如果您需要,库提供了以下更高级的命令。

  • $cache->delete($key) - 从缓存中删除特定的项。
  • $cache->flush() - 删除缓存中的所有项。
  • $cache->replace($key, $content, $expiry) - 与 set 方法类似,但只有在缓存项已存在时才会更新缓存项的值。
  • $cache->increment($key, $offset) - 通过指定的偏移量(或省略偏移量时为 1)增加数字缓存项的值。
  • $cache->decrement($key, $offset) - 通过指定的偏移量(或省略偏移量时为 1)减少数字缓存项的值。