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);
  • 相关阅读:
    Linux进程组调度机制分析【转】
    Linux内存管理 (22)内存检测技术(slub_debug/kmemleak/kasan)【转】
    linux syscall 详解【转】
    Linux C 读取文件夹下所有文件(包括子文件夹)的文件名【转】
    Linux RTC驱动模型分析之rtc-sysfs.c【转】
    Linux的notifier机制在TP中的应用【转】
    Linux内存管理 (10)缺页中断处理【转】
    proc/net/dev实时网速统计实例【转】
    硬中断和软中断【转】
    Linux网络
  • 原文地址:https://www.cnblogs.com/zeopean/p/flush.html
Copyright © 2011-2022 走看看