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)
            }
        })
    }

 

posted @ 2021-09-02 21:07  王越666  阅读(666)  评论(0编辑  收藏  举报