tp5 Redis缓冲的设置与清除
控制器代码:
//设置缓冲的方法 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]); }
//视图的方法
<span onclick="clearCache()" style="color: red">清除缓冲</span>
//获取缓冲 function clearCache(){ $.ajax({ url: '/admin/order/clearcache', type: 'GET', dataType: 'JSON', success:function (res) { //弹出缓冲 alert( '清除的缓冲为:'+res.data) } }) }