zoukankan      html  css  js  c++  java
  • laravel5 缓存的使用

    最近使用了laravel5 的 缓存,做些记录,若有错误,还望指正

    • 设置缓存

       1 #put 方式
       2  Cache::put('key', 'value', $minutes);
       3  
       4  # 设置文件缓存
       5  Cache::store('file')->get('foo');
       6 
       7  #使用redis 做缓存
       8  Cache::store('redis')->put('bar', 'baz', 10);       // 存储在redis 的数据 格式是这样子的,需要注意:1) "laravel:bar"
       9  
      10  #其他缓存设置方式
      11  #add 方法只会把暂时不存在缓存中的项目放入缓存,如果成功存放,会返回 true,否则返回 false:
      12  
      13  Cache::add('key', 'value', $minutes);
      14  
      15  #forever 方法可以用来存放永久的项目到缓存中,这些值必须被手动的删除,这可以通过 forget 方法实现:
      16 
      17  Cache::forever('key', 'value');
      18  // 删除使用 Cache::forget('key');
    • 判断缓存键值是否存在

      1 if(Cache::has('key')){
      2       # code
      3   }
    • 获取缓存

      1 #获取普通缓存
      2  $value = Cache::get('foo');
      3  
      4  $value = Cache::pull('key');//put 与get 类似
      5  
      6  #获取redis 缓存
      7  $value = Cache::store('redis')->get('bar');
      • 需要注意的是,获取缓存时,可以使用闭包函数的形式

        1 $value = Cache::get('key', function() {
        2       return DB::table(...)->get();
        3   });
    • 更新缓存

      • 有时候,你可能会想从缓存中取出一个项目,但也想在当取出的项目不存在时存入一个默认值,例如,你可能会想从缓存中取出所有用户,当找不到用户时,从数据库中将这些用户取出并放入缓存中,你可以使用 Cache::remember 方法达到目的:

        1 $value = Cache::remember('users', $minutes, function() {
        2       return DB::table('users')->get();
        3   });
      • 如果那个项目不存在缓存中,则返回给 remember 方法的闭包将会被运行,而且闭包的运行结果将会被存放在缓存中。

      • 使用 remember 和 forever 这两个方法来 ”永久“ 存储缓存:

        1 $value = Cache::rememberForever('users', function() {
        2       return DB::table('users')->get();
        3   });
    • 清除缓存

      1 #清除某个缓存
      2  Cache::forget('key');
      3 
      4  # 清除所以缓存
      5  Cache::flush();
      6  
      7  #pull 也可以清除缓存,并且获取该值
      8  Cache::pull('key');
    • 键值的递增与递减值(针对整型)

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

      1   Cache::increment('key');
      2   
      3   Cache::increment('key', $amount);
      4   
      5   Cache::decrement('key');
      6   
      7   Cache::decrement('key', $amount);
  • 相关阅读:
    BZOJ 3506 机械排序臂 splay
    BZOJ 2843 LCT
    BZOJ 3669 魔法森林
    BZOJ 2049 LCT
    BZOJ 3223 文艺平衡树 splay
    BZOJ 1433 假期的宿舍 二分图匹配
    BZOJ 1051 受欢迎的牛 强连通块
    BZOJ 1503 郁闷的出纳员 treap
    BZOJ 1096 ZJOI2007 仓库设计 斜率优化dp
    BZOJ 1396: 识别子串( 后缀数组 + 线段树 )
  • 原文地址:https://www.cnblogs.com/zeopean/p/flush.html
Copyright © 2011-2022 走看看