rapidwebltd/rw-file-cache

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

v1.2.5 2018-01-23 17:20 UTC

This package is auto-updated.

Last update: 2024-09-06 09:19:33 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)减少数值型缓存项的值。