koded/cache-extended

支持多种缓存技术的PSR-6缓存库。

2.0.0 2021-05-03 13:46 UTC

This package is auto-updated.

Last update: 2024-08-29 04:59:33 UTC


README

Latest Stable Version Build Status Code Coverage Scrutinizer Code Quality Minimum PHP Version Software license

适用于PHP 7的PSR-6缓存库,使用多种缓存技术。

要求

  • Linux机器
  • PHP 8

推荐的缓存技术有

  • Redis服务器
  • Memcached

推荐的PHP模块

用于开发目的,您可以

  • 内存客户端(默认)
  • 文件客户端

用法

  • 使用所需的缓存技术创建一个CacheItemPoolInterface实例
  • 使用池实例操作缓存项
$cache = CachePool::use('redis');

$item = $cache->getItem('fubar');
$item->set('some value');
$item->expiresAfter(new DateTime('3 days'));

$cache->save();

池实例仅创建一次。

CachePool::use()接受底层缓存技术的特定参数。
此方法使用Koded Simple Cache包。请参阅该存储库中的README以获取特定参数。

如果您想直接使用,可以获取缓存客户端

/** $var Koded\Caching\Cache $client */
$client = $cache->client();

延迟项

要推迟保存缓存项(一次性存储所有项),您可以使用saveDeferred()方法。这些缓存项将在您

  • 执行commit()
  • CacheItemPoolInterface实例销毁时

请注意,commit()不是原子操作。无法保证所有项都将保存,因为在save()运行期间可能会发生任何事情(网络、客户端崩溃等)。

$cache->saveDeferred($event);
$cache->saveDeferred($counter);

// ... do some stuff

// store this now
$cache->save($dependency);

// ... do more stuff

$cache->saveDeferred($updates);
$cache->saveDeferred($extras);

// Store all deferred items
$cache->commit();

许可协议

代码根据3条款BSD许可证分发。