laravel为不同的缓存系统提供了统一的API,缓存的配置在config这个配置文件夹下
同样这个和我们的会话控制一样需要进行类的引入,而且在我们的app.php中已经进行了名字的别命名,在引用是直接进行别名的引入就可以。
缓存的主要方法和会话控制的方法很相似,且有一些不同
相似:
1.设置缓存
cache::put(‘key’,‘value’,$minutes);
//key键值,value值,$minutes有效期,时间是分钟
cache::put('age','24',100);
设置缓存还有一个
session::add('age','15',1000);
注意:
session::put()和session::add()的不同的地方:
session::put()如果在有存在的key值时会覆盖原有的,而session::add()如果所添加的数据存在,那么会返回一个false,并且不会覆盖原有的数据,也就是所如果原有存在则不能进行添加。
还有一个设置缓存的方法
session::forever(‘key’,‘value’)
这个就像forever这个词一样‘永远’的意思,也就是说,这个缓存的有效期是永远,这个永远是相对于我们现在的来说,也就是200多年,时间足够长。
2.获取缓存
cache::get('age');
cache::get('age','无数据');
cache::get('age',function(){
return '无数据';
});
3.判断缓存中是否存在某个数据
cache::has(‘key’);
cache::has('age');
4.删除缓存里面的数据
删除缓存和删除session里面的数据有不同的一个就是
删除缓存里面增加了一个
<1>.session::pull(’‘key’);
从缓存中获取缓存项然后再进行删除,如果缓存项不存在的话则返回null
session::pull('age');
<2>.session::forget(‘key’);移除缓存项
<3>.session::flush();清除所有的缓存,并删除对应的目录
<2>.<3>和会话缓存里面的session用法相同
5.缓存数值的增加/减少
在一些网站或是我们的一些文章中都会设置一个浏览量的一个记录,我们就可以通过缓存来进行一个记录
增加:
cache::increment(key);
cache::add('count','0',100)
cache::increment('count');
减少:
cache::decrement(‘key’);
cache::add('count','1',100);
cache::decrement('count');
通过上面可以发现在设置缓存的时候用到的是
cache::add();这个方法,为什么不用put()和forever呢,因为我们在进行每次数据刷新时这两个方法会覆盖原有的数据,也就是都会重复的初始化数据。
6.获取并储存、
在我们进行缓存获取时,如果想要获取缓存的项不存在我们可以对其进行一个默认项得储存
方法为
cache::remmber(‘key’,$mintes,function(){
})
//如果我们获取的time不存在,他会把我们写的functionl里面的内容方法储存放到缓存中
cache::remember('time',10,function(){
return Member::all();
});