美文网首页ECJia
ecjia_cache函数使用

ecjia_cache函数使用

作者: 东方皓 | 来源:发表于2018-06-22 23:35 被阅读38次

    通过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();
    

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

    相关文章

      网友评论

        本文标题:ecjia_cache函数使用

        本文链接:https://www.haomeiwen.com/subject/yaglyftx.html