toast/cache

Toast PSR-6兼容的缓存模块

0.5.0 2023-05-17 11:10 UTC

README

Toast测试框架的缓存模块

您可能会问,为什么测试框架需要缓存?好吧,有时候某段代码执行的操作不容易检查(例如发送邮件),或者如果您编写验收测试,可能需要一种检查外部服务器是否正确执行的方法。该模块命名为cache,因为它完全符合PSR-16规范,但您实际上应该将其视为在运行测试场景期间可以访问的共享池。

安装

使用composer(推荐)

composer require toast/cache

手动

  • 将代码库下载或克隆到某个位置;
  • 在您的自动加载器中注册/path/to/cache/src作为Toast\Cache命名空间。

初始化缓存池

创建一个新的Toast\Cache\Cache对象,如下所示

<?php

use Toast\Cache\Cache;

$cache = new Cache('/path/to/storage');

或者,缓存也可以作为单例访问

<?php

use Toast\Cache\Cache;

$pool = Cache::getInstance('/path/to/storage');

这在测试中共享时特别方便;尽管如此,只要路径保持不变,缓存将重新加载现有数据。

请注意,您可以使用不同的路径实例化多个、隔离的缓存。

在缓存中存储和检索项目

可以使用setsetMultiple将任何可序列化的内容存储在缓存中

<?php

use Toast\Cache\Cache;

$someVariable = 'I need to be cached!';

$pool = Cache::getInstance('/path/to/storage');
$pool->save('some-unique-key', $someVariable);
$pool->has('some-unique-key'); // true

// ...somewhere else in your code...

$item = Cache::getInstance('/path/to/storage')->get('some-unique-key');
echo $item; // string "I need to be cached!"

生存时间

PSR-16允许缓存项目定义可选的生存时间(TTL)。由于在单元测试的上下文中这没有意义,因此该参数被忽略。