laravel8缓存的基本操作


一、缓存文件默认存放位置

框架运行时缓存的一个缓存文件是存储在storage/framework/cache/data文件夹里面

配置项 config/cache.php

18行		 'default' => env('CACHE_DRIVER', 'file'),
52行		'file' => [
         		   'driver' => 'file',
           			'path' => storage_path('framework/cache/data'),
     		   ],

默认.env文件 CACHE_DRIVER ,没有就是file

config/app.php

200行		'Cache' => Illuminate\Support\Facades\Cache::class,

二、缓存操作(API)

use Cache;

1、设置缓存数据

Cache::put(‘key’,值,分钟)

例子

use Cache;
class UserController extends Controller
{

    public function huancun(){
        dump(Cache::put('Test','hello',10) );//缓存10分钟
    }
}

设置添加缓存,添加的时候如果key值已有,会覆盖
返回值:布尔值 true。

不同点:put会覆盖,add不会覆盖

Cache::add(‘key’,值,分钟)

例子

public function huancun(){
      dump(Cache::add('Test',666,10) );//10分钟
 }

返回值:布尔值,如果缓存没有这个key的数据那就返回true,已经有key的数据那就返回false

永久缓存 Cache::forever(‘key’,值)

例子

public function huancun(){
        dump( Cache::forever('Test',666)  );
 }

返回值:布尔值 true,设置添加缓存,添加的时候如果key值已有,会覆盖
打开缓存文件查看:
时间戳 类型:值

9999999999i:666;

观察可以看到并不是永久缓存,只是缓存时间很长

2、删除缓存

Cache::forget(‘key’)

例子

public function huancun(){
        dump(Cache::forget('Test') );
 }

返回值:布尔值 true 或 false
文件夹不会删

Cache::pull(‘key’)

例子

public function huancun(){
        dump(Cache::pull('Test') );
 }

文件夹不会删
返回值:缓存key的值不存在的话返回null,存在删除就返回
场景:一次性的缓存数据可以用这个

清空所有缓存 Cache::flush()

例子

public function huancun(){
        dump(Cache::flush() );
 }

删除所有,文件夹都没了,清空data文件夹
返回值:布尔值 true

3、获取缓存数据

Cache::get(‘key’)

例子

public function huancun(){
        dump(Cache::get('Test') );
 }

返回值:有就返回缓存的,没有返回null

4、判断一个缓存是否存在

Cache::has(‘key’)

例子

public function huancun(){
        dump(Cache::has('Test') );
 }

返回值:布尔值 true 或 false

5、缓存自增 / 自减

先缓存一个数据( 整型数值 )

    public function huancun(){
        dump(Cache::put('Test',0,100) );//100分钟
    }

[ ] 表示可选

自增Cache::increment(‘key’[ ,增多少值 ] )

示例

    public function huancun(){
        dump(Cache::increment('Test' ));
        //dump(Cache::increment('Test',6) );
    }

第二个参数不带,默认自增 1
返回值:如果没有缓存数据,返回的是( 0+ 值 ) , 缓存的是永久缓存。如果有缓存数据缓存 时间戳 都 不会变不管是不是整形,返回的是 (0+ 值) 。

如果缓存的值是’Test’ 自增并返回1 , 如果缓存的是’123’,自增并返回124

自减Cache::decrement(‘key’[ ,减多少值 ] )

示例

    public function huancun(){
        dump(Cache::decrement('Test') );
       //dump(Cache::decrement('Test',6) );
    }

返回值:如果没有缓存数据,返回的是( 0 - 值 ) , 缓存的是永久缓存。如果有缓存数据缓存 时间戳 都 不会变不管是不是整形,返回的是( 0- 值 ) 。

如果缓存的值是’Test’ 自减并返回-1 , 如果缓存的是’123’,自增并返回122

其他的场景

场景:token值,小程序用token访问次数,用一次减一次,不用老是请求token,次数用完重新获取token

Cache::remember(‘key’,分钟,function(){ } )

获取缓存数据,如果缓存数据不存在时给它存储一个默认值。
示例

    public function huancun(){
	      dump(Cache::remember('T',20,function (){
              return 3;
          }) );
    }

Cache::rememberForever(‘Test2’, function(){} )永久缓存

示例

    public function huancun(){
	     dump(Cache::rememberForever('Test2', function() {
            return 6;
        }) );
    }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值