onoi / blob-store
一个用于管理无模式的时序持久键/值对的简单接口
1.2.1
2016-07-09 17:32 UTC
Requires
- php: >=5.3.2
- onoi/cache: ~1.1
This package is not auto-updated.
Last update: 2024-09-13 14:11:21 UTC
README
一个用于管理无模式的时序持久键/值对的简单接口。这是Semantic MediaWiki代码库的一部分,现在作为独立库部署。
建议根据使用情况,使用redis、riak或mongodb作为后端提供者。
需求
- PHP 5.3或更高版本
- Onoi/Cache ~1.1
安装
该库推荐的安装方法是将其依赖项添加到您的composer.json文件中。
{ "require": { "onoi/blob-store": "~1.2" } }
用法
class Foo { private $blobStore; public function __construct( BlobStore $blobStore ) { $this->blobStore = $blobStore; } public function doSomethingFor( $id ) { $container = $this->blobStore->read( md5( $id ) ); $container->set( 'one', array( new \stdClass, 'Text' ) ); $container->append( 'one', new \stdClass ); $container->delete( 'two' ); $this->blobStore->save( $container ); } }
$cacheFactory = new CacheFactory(); $compositeCache = $cacheFactory->newCompositeCache( array( $cacheFactory->newFixedInMemoryLruCache(), $cacheFactory->newDoctrineCache( new \Doctrine\Common\Cache\RedisCache( ... ) ) ) ); or $compositeCache = $cacheFactory->newCompositeCache( array( $cacheFactory->newFixedInMemoryLruCache(), $cacheFactory->newMediaWikiCache( \ObjectCache::getInstance( 'redis' ) ) ) ); $blobStore = new BlobStore( 'foo', $compositeCache ); $instance = new Foo( $blobStore ); $instance->doSomethingFor( 'bar' );
创建实例时,需要指定一个命名空间以指定存储的上下文,以防BlobStore
用于不同的用例。
贡献和支持
如果您想为项目做出贡献,请订阅开发人员邮件列表,并查看贡献指南。过去做出贡献的人的列表可以在此处找到。
测试
该库提供单元测试,通常由持续集成平台运行,覆盖核心功能。测试也可以通过从根目录运行composer phpunit
命令手动执行。
发行说明
- 1.2.0 (2016-03-19)
- 添加了
Container::addToLinkedList
以维护一个相互依赖的容器链接列表(如果删除原始容器,则所有链接容器也将被删除)
- 1.1.0 (2015-06-13)
- 移除了内部ID列表的跟踪
- 添加了
Container::setExpiryInSeconds
- 1.0.0 (2015-06-02)
- 初始发布