ecjia_cache函数使用

通过ecjia_cache函数获取缓存实例

ecjia_cache($app, $driver = null);

调用缓存方法

get 方法可以用来取出缓存中的项目,缓存不存在的话返回 null,get 方法接受第二个参数,作为找不到项目时返回的预设值:

$value = ecjia_cache('touch')->get('key');

$value = ecjia_cache('touch')->get('key', 'default');

你甚至可以传入一个闭包作为默认值,当指定的项目不存在缓存中时,闭包将会被返回,传入一个闭包允许你延迟从数据库或外部服务中取出值:

$value = ecjia_cache('touch')->get('key', function() {

    return RC_DB::table(...)->get();

});

确认项目是否存在

has 方法可以用来检查一个项目是否存在于缓存中:

if (ecjia_cache('touch')->has('key')) {

    //

}

递增与递减值

increment 和 decrement 方法可以用来调整缓存中的整数项目值,这两个方法都可以选择性的传入第二个参数,用来指示要递增或递减多少:

ecjia_cache('touch')->increment('key');

ecjia_cache('touch')->increment('key', $amount);

ecjia_cache('touch')->decrement('key');

ecjia_cache('touch')->decrement('key', $amount);

取出与删除

如果你需要从缓存中取出一个项目并删除它,你可能会使用 pull 方法,与 get 相似,如果对象不存在缓存中,pull 方法将会返回 null:

$value = ecjia_cache('touch')->pull('key');

存放项目到缓存中

你可以使用 Cache facade 的 put 方法来存放项目到缓存中,你需要使用第三个参数来设定缓存的存放时间:

ecjia_cache('touch')->put('key', 'value', $minutes);

forever 方法可以用来存放永久的项目到缓存中,这些值必须被手动的删除,这可以通过 forget 方法实现:

ecjia_cache('touch')->forever('key', 'value');

删除缓存中的项目

你可以使用 forget 方法从缓存中移除一个项目:

ecjia_cache('touch')->forget('key');

也使用 flush 方法清空所有缓存:

ecjia_cache('touch')->flush();

清空缓存 并不会 遵从缓存的前缀,并会将缓存中所有的项目删除。在清除与其它应用程序共用的缓存时应谨慎考虑这一点。

这篇文章对您有用吗?