nazg/hcache
Composer 安装命令:
composer require nazg/hcache
包简介
cache that boosts performance
README 文档
README
Installation
$ composer require nazg/hcache
Usage
supported apc, memcached, map, void, filesystem
Using the CacheManager
<?hh use Nazg\HCache\Element; use Nazg\HCache\CacheManager; $manager = new CacheManager(); $cache = $manager->createCache('memcached'); $mc = new \Memcached('mc'); $mc->addServers([['127.0.0.1', 11211]]); $cache->setMemcached($mc); $cache->createCache('map')?->save('cache', new Element('testing', 0));
| cache name | cache driver |
|---|---|
| apc | \Nazg\HCache\Driver\ApcCache |
| void | \Nazg\HCache\Driver\VoidCache |
| map | \Nazg\HCache\Driver\MapCache |
| file | \Nazg\HCache\Driver\FileSystemCache |
| memcached | \Nazg\HCache\Driver\MemcachedCache |
| redis | \Nazg\HCache\Driver\RedisCache |
Cache Usage
Retrieving Item From The Cache
<?hh <<__Override>> public function fetch(string $id): mixed { }
Checking For Item Existence
<?hh <<__Override>> public function contains(string $id): bool { }
Storing Item In The Cache
<?hh <<__Override>> public function save(string $id, Element $element): bool { }
Removing Items From The Cache
remove item
<?hh <<__Override>> public function delete(string $id): bool { }
flush
<?hh <<__Override>> public function flushAll(): bool { }
Adding Custom Cache Drivers
<?hh use Nazg\HCache\CacheManager; use Nazg\HCache\CacheProvider; $manager = new CacheManager(); $manager->addCache('null', () ==> new NullCache()); $manager->createCache('null'); class NullCache extends CacheProvider { <<__Override>> public function fetch(string $id): mixed { return; } <<__Override>> public function contains(string $id): bool { return false; } <<__Override>> public function save(string $id, Element $element): bool { return true; } <<__Override>> public function delete(string $id): bool { return true; } <<__Override>> public function flushAll(): bool { return true; } }
Using Cache Providers
example
FileSystemCache
<?hh use Nazg\HCache\Element; use Nazg\HCache\Driver\FileSystemCache; $cache = new FileSystemCache(); $cache->setDirectory(__DIR__ . '/../storages'); $cache->save('file', new Element('testing', 0)); $cache->fetch('file'); $cache->contains('file') $cache->flushAll();
MapCache (memory)
<?hh use Nazg\HCache\Element; use Nazg\HCache\Driver\MapCache; $cache = new MapCache(); $cache->save('map', new Element('testing', 0));
MemcachedCache
<?hh use Nazg\HCache\Element; use Nazg\HCache\Driver\MemcachedCache; $cache = new MemcachedCache(); $mc = new \Memcached('mc'); $mc->addServers([['127.0.0.1', 11211]]); $cache->setMemcached($mc); $cache->save("qwerty", new Element('testing:cache', 0));
统计信息
- 总下载量: 6.31k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-04-04