knot-lib/cache

kNot 框架的缓存库。

0.3.0 2021-06-05 20:31 UTC

This package is auto-updated.

Last update: 2023-09-06 01:16:51 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Code Climate Total Downloads

描述

kNot 框架的缓存库。

特性

  • PSR16: 符合 SimpleCache 规范
  • 文件缓存
  • 数组缓存

示例(FileCache)

配置

$config = [
    'cache' => [
        'root' => '/path/to/cache',
        'expire' => 5,      // expires 5 seconds after cache item is set
    ]
];

get/set

$cache = new FileCache($config);

$cache->set('my favorite artist', 'stevie wonder');

echo $cache->get('my favorite artist');    // stevie wonder

$cache->set('my favorite artist', 'justin bieber');

echo $cache->get('my favorite artist');    // justin bieber

过期

$cache = new FileCache($config);

$cache->set('my favorite artist', 'stevie wonder');

echo $cache->get('my favorite artist');    // stevie wonder

sleep(6);

echo $cache->get('my favorite artist');    // 

$cache->set('my favorite artist', 'stevie wonder', 10);

sleep(6);

echo $cache->get('my favorite artist');    // stevie wonder

删除

$cache = new FileCache($config);

$cache->set('my favorite artist', 'stevie wonder');

echo $cache->get('my favorite artist');     // stevie wonder

$cache->delete('my favorite artist');

echo $cache->get('my favorite artist');     //

清除

$cache = new FileCache($config);

$cache->set('my favorite artist', 'stevie wonder');
$cache->set('my favorite movie', 'Jurassic Park');

echo $cache->get('my favorite artist');     // stevie wonder
echo $cache->get('my favorite movie');      // Jurassic Park

$cache->clear();

echo $cache->get('my favorite artist');     // 
echo $cache->get('my favorite movie');      // 

获取多个缓存

$cache = new FileCache($config);

$cache->set('my favorite artist', 'stevie wonder');
$cache->set('my favorite movie', 'Jurassic Park');

$values = $cache->getMultiple([
    'my favorite artist', 'my favorite movie'
]);

echo print_r($values, true);
// Array
// (
//     [my favorite artist] => stevie wonder
//     [my favorite movie] => Jurassic Park
// )

设置多个缓存

$cache = new FileCache($config);

$cache->setMultiple([
    'my favorite artist' => 'stevie wonder',
    'my favorite movie' => 'Jurassic Park',
]);

echo $cache->get('my favorite artist');     // stevie wonder
echo $cache->get('my favorite movie');      // Jurassic Park

数组缓存

$cache = new ArrayCache($config);

$cache->set('my favorite artist', 'stevie wonder');

echo $cache->get('my favorite artist');     // stevie wonder

sleep(6);

echo $cache->get('my favorite artist');     // 

使用方法

1. 创建配置数组

  • FileCache 需要 cache/root
  • cache/expire 是可选的(单位:秒)

2. 创建缓存对象

  • 将配置数组传递给构造函数

3. 设置或获取缓存

  • 使用 get() 方法获取缓存项
  • 使用 set() 方法更新缓存项

要求

PHP 7.2 或更高版本

安装 knot-lib/cache

推荐通过 Composer 安装 knot-lib/cache。

composer require knot-lib/cache

安装后,需要引入 Composer 的自动加载器

require 'vendor/autoload.php';

许可

此库遵循 MIT 许可协议。

作者

stk2k

免责声明

此软件无任何保证。

我们不对此软件的使用引起的任何结果负责。

请自行承担责任。