toast / cache
Toast PSR-6兼容的缓存模块
0.5.0
2023-05-17 11:10 UTC
Requires
- psr/simple-cache: ^1.0
- toast/unit: ^2.2.1
Requires (Dev)
- gentry/gentry: ^0.16.10
- gentry/toast: ^0.1.0
This package is auto-updated.
Last update: 2024-09-17 13:47:32 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');
这在测试中共享时特别方便;尽管如此,只要路径保持不变,缓存将重新加载现有数据。
请注意,您可以使用不同的路径实例化多个、隔离的缓存。
在缓存中存储和检索项目
可以使用set
或setMultiple
将任何可序列化的内容存储在缓存中
<?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)。由于在单元测试的上下文中这没有意义,因此该参数被忽略。