onoi/cache

一个简约的缓存适配器接口库

1.2.0 2015-06-02 08:52 UTC

This package is auto-updated.

Last update: 2024-08-29 03:41:54 UTC


README

Build Status Code Coverage Scrutinizer Code Quality Latest Stable Version Packagist download count Dependency Status

这是一个简约的缓存适配器接口,曾是Semantic MediaWiki代码库的一部分,现在作为独立的库使用。

  • 支持MediaWiki的BagOStuff缓存接口
  • 支持Doctrine缓存接口
  • 支持Zend缓存(ZF2)接口
  • 提供无任何外部缓存提供者依赖的FixedInMemoryLruCache数组LRU缓存
  • 提供CompositeCache以组合不同的缓存实例,并允许按先到先服务的顺序通过层次迭代访问

需求

PHP 5.3 / HHVM 3.3或更高版本

安装

该库推荐的安装方法是将其依赖项添加到您的composer.json

{
	"require": {
		"onoi/cache": "~1.1"
	}
}

用法

use Onoi\Cache\Cache;

class Foo {

	private $cache = null;

	public function __constructor( Cache $cache ) {
		$this->cache = $cache;
	}

	public function doSomething( $id ) {

		if ( $this->cache->contains( $id ) ) {
			// do something
		}
	}
}
$cacheFactory = new CacheFactory();

$instance = new Foo( $cacheFactory->newFixedInMemoryLruCache( 500 ) );
$instance->doSomething( 'bar' );

or

$compositeCache = $cacheFactory->newCompositeCache( array(
	$cacheFactory->newFixedInMemoryLruCache( 500 ),
	$cacheFactory->newDoctrineCache( new \Doctrine\Common\Cache\RedisCache() ),
	$cacheFactory->newMediaWikiCache( new \SqlBagOStuf() )
) );

$instance = new Foo( $compositeCache );
$instance->doSomething( 'bar' );

贡献和支持

如果您想为该项目做出贡献,请订阅开发人员邮件列表,并查看贡献指南。过去做出贡献的人的列表可以在这里找到。

测试

该库提供了单元测试,覆盖了由持续集成平台运行的常规核心功能。测试也可以从根目录使用composer phpunit命令手动执行。

发布说明

  • 1.2.0 (2015-06-02)

  • 添加了Cache::getName

  • 删除了过时的FixedInMemoryCache

  • 1.1.0 (2015-03-29)

  • 添加了NullCache

  • 添加了ZendCache

  • FixedInMemoryCache重命名为FixedInMemoryLruCache

  • 1.0.0 (2015-01-16)

  • 初始发布

许可证

GNU通用公共许可证2.0或更高版本.