laurent22 / kache
支持多个驱动器的简单缓存系统。
1.0
2014-02-16 08:40 UTC
This package is not auto-updated.
Last update: 2024-09-28 14:44:21 UTC
README
一个支持多个驱动器并注重性能的简单缓存系统。在暴露的API和底层驱动器之间只有一个最小的包装,以使库尽可能快。
安装
要么检出代码并要求 src/Kache.php
。或者使用Composer
"require": { "laurent22/kache": "1.*" }
设置
使用文件驱动器
Kache::setup(array( 'driver' => 'file', 'path' => '/path/to/cache_folder', ));
使用Redis驱动器
Kache::setup(array( 'driver' => 'redis', 'server' => array( 'host' => '127.0.0.1', 'port' => 6379, 'dbindex' => 1, ), ));
使用null驱动器(禁用缓存)
Kache::setup(array( 'driver' => 'null', ));
使用
可以通过 Konfig::instance()
或便利方法 k()
访问类实例。例如
k()->set('somekey', 'somevalue', 120); // Cache for 2 minutes var_dump(k()->get('somekey')); $k()->delete('somekey');
您还可以使用 getOrRun()
方法,该方法将返回给定的键,如果它不存在,则执行以下操作
- 运行提供的函数。
- 将键设置为函数返回的值。这允许简化获取/设置缓存值时所需的样板代码。例如,以下代码
function getName() { $name = k()->get('name'); if ($name !== null) return $name; $name = getNameFromDb(); k()->set('name', $name, 600); return $name; }
可以简化为这样
function getName() { return k()->getOrRun('name', function() { return getNameFromDb(); }, 600); }