tp5 Redis缓冲的设置与清除
阅读原文时间:2023年07月09日阅读:3

控制器代码:

//设置缓冲的方法
public function order()
{
$word = input('word');//接受搜索值
//题意:将订单数据使用redis进行缓存中,第二次读取从redis中获取数据
$redis = new Redis();
if ($redis->has('order')) {//检测Redis 是否有订单order,有就获取出来,没有就去数据库中提取
$order = $redis->get('order');
} else {
$order = OrderModel::getOrder($word);//调用order表模型,提取数据
$redis->set('order', $order);//将订单数据储存于Redis中;
}
$this->assign('order', $order);
return view();//返回视图
}

//清除缓冲方法
public function clearCache()
{
$redis = new Redis();//实例化Redis
$result = $redis->get('order');
$m1 = memory_get_usage();//获取$result 的内存
unset($result);//删除order数据
$redis->clear();//清空缓冲
$m2 = memory_get_usage();
$ending=$m1-$m2;//原来的内存减去清除后的内存,传输至页面中
return
json(['code'=>200,'massage'=>'success','data'=>$ending]);
}

//视图的方法

清除缓冲

//获取缓冲  
function clearCache(){  
    $.ajax({  
        url: '/admin/order/clearcache',  
        type: 'GET',  
        dataType: 'JSON',  
        success:function (res) {  
            //弹出缓冲  
            alert(  '清除的缓冲为:'+res.data)  
        }  
    })  
}