phossa2/cache

该软件包已被废弃,不再维护。没有建议的替代软件包。

一个符合PSR-6的PHP缓存库

2.0.1 2016-08-26 02:45 UTC

This package is not auto-updated.

Last update: 2020-01-24 16:10:39 UTC


README

请使用phoole/cache代替。

Build Status Code Quality Code Climate PHP 7 ready HHVM Latest Stable Version License

phossa2/cache是一个符合PSR-6规范的PHP缓存库。它支持各种驱动程序和有用的功能,如绕过、加密、雪崩保护等。

它需要PHP 5.4,支持PHP 7.0+和HHVM。它符合PSR-1PSR-2PSR-3PSR-4PSR-6以及提议的PSR-5

安装

通过composer工具安装。

composer require "phossa2/cache"

或者将以下行添加到您的composer.json

{
    "require": {
       "phossa2/cache": "2.*"
    }
}

功能

  • 完全符合PSR-6

  • 支持所有可序列化的PHP数据类型

  • 包含扩展:

    • 绕过:如果URL中看到触发器(例如'?nocache=true'),则绕过缓存。

    • 雪崩保护:当缓存对象的生存时间小于可配置的时间时,通过可配置的百分比,缓存将在'isHit()'上返回false,从而触发对象的重新生成。

    • 加密:对序列化内容进行简单扩展。

    • 分布式过期:通过稍微调整过期时间来平衡项目缺失的峰值。

  • 驱动程序

    • StorageDriver

      存储驱动程序使用phossa2/storage本地或云存储。

    • NullDriver

      黑洞驱动程序,可以用作所有其他驱动程序的备用驱动程序。

用法

  • 简单用法

    /*
     * cache dir default to local sys_get_temp_dir() . '/cache'
     */
    $cache = new CachePool();
    
    $item = $cache->getItem('/data.cache');
    if (!$item->isHit()) {
        $value = calcuate_data();
        $item->set($value);
        $cache->save($item);
    }
    $data = $item->get();
  • 指定驱动程序

    use Phossa2\Cache\Driver\StorageDriver;
    use Phossa2\Storage\Storage;
    use Phossa2\Storage\Filesystem;
    use Phossa2\Storage\Driver\LocalDriver;
    
    $driver = new StorageDriver(
        new Storage('/', new Filesystem(new LocalDriver(sys_get_temp_dir()))),
        '/cache'
    );
    
    $cache = new CachePool($driver);
  • 使用扩展

    /*
     * DistributedExpiration extension
     */
    use Phossa2\Cache\CachePool;
    use Phossa2\Cache\Extension\DistributedExpiration;
    
    $cache = new CachePool();
    $cache->addExtension(new DistributedExpiration());

变更日志

请参阅CHANGELOG以获取更多信息。

测试

$ composer test

贡献

请参阅CONTRIBUTE以获取更多信息。

依赖

许可证

MIT许可证