openclassrooms / doctrine-cache-extension
扩展 Doctrine Cache 功能的库
v1.0.0
2024-08-06 15:34 UTC
Requires
- php: >=5.6
- doctrine/cache: 2.2.0
Requires (Dev)
- mockery/mockery: 0.*
- phpunit/phpunit: ^9.6.20
This package is auto-updated.
Last update: 2024-09-06 16:17:13 UTC
README
Doctrine Cache 扩展为 Doctrine Cache 实现添加以下功能
- 默认有效期
- 使用命名空间获取
- 使用命名空间保存
- 通过命名空间策略进行缓存失效
安装
安装 DoctrineCacheExtension 最简单的方法是通过 composer.
创建以下 composer.json
文件并运行 php composer.phar install
命令进行安装。
{ "require": { "openclassrooms/doctrine-cache-extension": "*" } }
<?php require 'vendor/autoload.php'; use OpenClassrooms\DoctrineCacheExtension\CacheProviderDecorator; //do things
使用方法
实例化
OpenClassrooms CacheProviderDecorator 需要一个 Doctrine CacheProvider 进行实例化。
$cacheProvider = new ArrayCache(); $cacheProviderDecorator = new CacheProviderDecorator($cacheProvider);
可以使用工厂来完成这个操作。
$factory = new CacheProviderDecoratorFactory(); $cacheProvider = $factory->create('array');
默认有效期
在构造函数中指定有效期
$cacheProviderDecorator = new CacheProviderDecorator($cacheProvider, 100); $cacheProviderDecorator->save($id, $data);
或通过工厂
$cacheProvider = $factory->create('array', 100);
或为所有缓存提供程序指定默认有效期
$factory = new CacheProviderDecoratorFactory(); $factory->setDefaultLifetime(100);
使用命名空间获取
$data = $cacheProviderDecorator->fetchWithNamespace($id, $namespaceId);
使用命名空间保存
// Namespace and life time can be null $data = $cacheProviderDecorator->saveWithNamespace($id, $data, $namespaceId, $lifeTime);
缓存失效
$cacheProviderDecorator->invalidate($namespaceId);