pcelta / doctrine-cache-factory
Doctrine 缓存工厂
0.1.0
2016-06-28 14:00 UTC
Requires
- php: >=5.4.0
- doctrine/cache: ^1.6
Requires (Dev)
- fabpot/php-cs-fixer: @stable
- phpunit/phpunit: @stable
This package is not auto-updated.
Last update: 2024-09-25 16:33:07 UTC
README
doctrine-cache-factory
Doctrine Cache Factory 是一种更好的方式,可以将您的应用程序与缓存适配器解耦。只需更改配置,工厂就会加载不同的客户端。
安装
{ "require": { "pcelta/doctrine-cache-factory": "dev-master" } }
可用的适配器
- 自定义
- 数组
- Memcache
- Memcached
- Redis
编写自己的适配器
使用适配器命名空间指定适配器的位置。
use Pcelta\Doctrine\Cache\Factory; $factory = new Factory(); $cacheSettings [ 'adapter' => 'Memcache', 'adapter_namespace' => '\Doctrine\Common\Cache\%sCache', 'host' => '127.0.0.1', 'port' => 11211, ]; $cacheProvider = $factory->create($cacheSettings);
如何使用数组
use Pcelta\Doctrine\Cache\Factory; $factory = new Factory(); $cacheSettings [ 'adapter' => 'Array', ]; $cacheProvider = $factory->create($cacheSettings);
如何使用Memcache
安装 php5-memcache
sudo apt-get install php5-memcache
use Pcelta\Doctrine\Cache\Factory; $factory = new Factory(); $cacheSettings [ 'adapter_name' => 'Memcache', 'host' => '127.0.0.1', 'port' => 11211, ]; $cacheProvider = $factory->create($cacheSettings);
如何使用Memcached
安装 php5-memcached
sudo apt-get install php5-memcached
use Pcelta\Doctrine\Cache\Factory; $factory = new Factory(); $cacheSettings [ 'adapter_name' => 'Memcached', 'host' => '127.0.0.1', 'port' => 11211, ]; $cacheProvider = $factory->create($cacheSettings);
如何使用Redis
安装 PHPRedis
git clone git@github.com:phpredis/phpredis.git
cd phpredis
phpize
./configure
make && make install
use Pcelta\Doctrine\Cache\Factory; $factory = new Factory(); $cacheSettings [ 'adapter_name' => 'Redis', 'host' => '127.0.0.1', 'port' => 11211, ]; $cacheProvider = $factory->create($cacheSettings);
通用用法
use Pcelta\Doctrine\Cache\Factory; $factory = new Factory(); $cacheSettings [ 'adapter_name' => 'Memcache', 'host' => '127.0.0.1', 'port' => 11211, ]; $cacheProvider = $factory->create($cacheSettings); $cacheProvider->save('your-key', 'your-data'); $data = $cacheProvider->fetch('your-key'); echo $data; // your-data
比较 Doctrine Cache Factory 与 Doctrine Cache Pure
Doctrine Cache
$memcache = new Memcache(); // it's bad to uncouple $memcache->connect('memcache_host', 11211); $cacheDriver = new \Doctrine\Common\Cache\MemcacheCache(); $cacheDriver->setMemcache($memcache); $cacheDriver->save('cache_id', 'my_data');
Doctrine Cache Factory
$factory = new \Pcelta\Doctrine\Cache\Factory(); $cacheSettings [ 'adapter_name' => 'Memcache', // it's much better 'host' => '127.0.0.1', 'port' => 11211, ]; $cacheProvider = $factory->create($cacheSettings); $cacheProvider->save('cache_id', 'your-data');
路线图
- Couchbase
许可
MIT 许可证