laravel为不同的缓存系统提供了统一的api,缓存配置位于文件目录(config/catche.php)
主要的方法:
Cache::put()
Cache::get()
Cache::add()
Cache::pull()
Cache::forever()
Cache::forget()
Cache::has()
系统默认是文件缓存,缓存的目录位于,storage/framwork/cache/data
使用cache之前要先在控制器文件里引用,
(1)设置缓存
语法:
put:
Cache::put(key,value,$minutes);
键,值,有效期(单位是分钟)
使用put方法创建的缓存,如果该键已经存在,新创建的相同键的值会覆盖掉原来键的值。
有效期必须设置
add:
Cache::add(key,value,$minutes);
键,值,有效期(单位是分钟)
add方法只会缓存键原来不存在的情况,如果原来的键存在,用add方法新创建相同键的,并不会覆盖掉原来的值(和put方法区分开),返回Boolean值
(2)获取缓存数据
使用get方法获取缓存项
语法:
dump(cache::get('name'));根据键名获取缓存项
dump(cache::get('age','100'));//如果没有age键,就输出默认值100
dump(cache::get('age',function(){ $rand=rand(1,10); return $rand%2==0 ? '男':'女'; }));
(3)查看缓存数据是否存在
语法://是否存在 // dump(cache::has('name'));
(4)删除缓存数据
语法:
cache::pull('age');先查询出键为age的缓存数据,再进行删除
cache::forget('gender');直接删除键为gender的缓存数据,不查询
cache::flush();删除所有的缓存数据,包括存放缓存数据的文件夹
(5)缓存数值的增加或减少。
必须是整型数值。。。。
increment和decrement方法用于调整缓存中的整型数值。
一般会用做计时器。
cache::add('count','0','100');//添加一个键值对缓存数据
cache::increment('count');//自增
cache::decrement('count');//自减
(6) 获取缓存并存储。
获取缓存项,如果获取的缓存项不存在,可以给获取项设置一个默认值。
从数据库获取数据并添加到缓存中,可以使用cache::remember方法
:
语法:cache::remember(键,时间,默认值);
时间是缓存的有效期,单位是:分钟。
如果缓存项不存在,就是把默认值给缓存。
获取缓存的代码:
dump(cache::remember('user',10,function(){
return Member::all();//获取member表
}));
第一次获取缓存时, 由于缓存里没有user键,所以把默认值,数据库member表的所有内容进行了缓存。
第二次获取缓存时, 查询到的就是第一次已经进行缓存了的默认值。也就是member表的内容(此时修改member表内容,对于缓存没有任何影响。)
查询效果: