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 @   王越666  阅读(674)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示