cache方法用于查询缓存操作
cache可以用于select
、find
、value
和column
方法,以及其衍生方法,使用cache
方法后,在缓存有效期之内不会再次进行数据库查询操作。
Db::table('lists')->cache(60)->find();
查询这条数据存60秒;
Db::table('lists')->limit(9)->cache('details_',1209600)
指定查询缓存的标识可以使得查询缓存更有效率。
缓存自动更新
这里的缓存自动更新是指一旦数据更新或者删除后会自动清理缓存(下次获取的时候会自动重新缓存)。
当你删除或者更新数据的时候,可以使用cache方法手动更新(清除)缓存,
Db::table('think_user')->cache('user_data')->select();
最后查询的数据不会受第一条查询缓存的影响,确保查询和更新或者删除使用相同的缓存标识才能自动清除缓存。
如果使用find
方法并且使用主键查询的情况,不需要指定缓存标识,会自动清理缓存
Db::table('think_user')->cache(true)->find();
最后查询的数据会是更新后的数据。
手动清除缓存
$('#update').click(function(){
$.ajax({
url:"{:url('admin/consult.consult/update')}",
type:'post',
dataType:'json',
success:function(res){
layer.msg(res.msg,{
icon:6,
time:2000
});
}
});
});
//更新缓存
public function update(){
$res = Cache::clear();
return json(['status'=>'success','msg'=>'更新成功']);
}
用Cache::clear();来清除缓存;
0条评论