php从memcache读取数据再批量写入mysql的方法


Posted in PHP onDecember 29, 2014

本文实例讲述了php从memcache读取数据再批量写入mysql的方法。分享给大家供大家参考。具体分析如下:

用 Memcache 可以缓解 php和数据库压力下面代码是解决高负载下数据库写入瓶颈问题,遇到最实用的:写入ip pv uv的时候,用户达到每分钟几万访问量,要记录这些数据,实时写入数据库必定奔溃.

用以下技术就能解决,还有如用户注册,同一时间断内,大量用户注册,可以缓存后一次性写入到数据库,代码如下:

public function cldata(){ 

$memcache_obj = new Memcache; 

    $memcache_obj->connect('127.0.0.1', '11211'); 

    $all_items = $memcache_obj->getExtendedStats('items'); 

    foreach($all_items as $option=>$vall){ 

        if (isset($all_items[$option]['items'])) { 

                 $items = $all_items[$option]['items']; 

                 foreach ($items as $number => $item) { 

                       $str    = $memcache_obj->getExtendedStats('cachedump', $number, 0); 

                       $line   = $str[$option]; 

if(is_array($line) && count($line) > 0){ 

    foreach($line as $key => $value) { 

        $keys[] = $key; 

} 

} 

} 

} 

} 

 

    dump(count($keys));//获取到key 

    if(count($keys)>50){//要写入的数据条数       

        $end=50; 

    }else{ 

        $end=count($keys); 

    } 

      

    for($i=0;$i<=$end;$i++){ 

        if(!strstr($keys[$i],'datadb')) continue;       

        $ksv = str_replace('datadb','',$keys[$i]); 

          

    /*$logdata = unserialize(S('login'.$ksv));//登录写入 

    if(is_array($logdata)){ 

        $this->addsuidinlogin($logdata[0],$logdata[1],$logdata[2],1);        

    }   */ 

          

        /*$sdata = unserialize(S('regadd'.$ksv));//注册写入 

    if(is_array($sdata)){ 

        $this->baiduad($sdata[0],$sdata[1],$sdata[2],$sdata[3],$sdata[4],1);     

    } 

    */ 

        $regdata = unserialize(S('datadb'.$ksv));       

        $ress[]=$regdata;

        S('datadb'.$ksv,null); 

      

    }   

    $addb = M()->db(66,C('DB_WEB_AD'));//批量写入 addall 

    $addb->table('mj_ad_count')->addall($ress); 

    echo M()->getLastSql();    

}

补充:可以使用的工具如:memadmin 还有memadmin 文档.

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
实现“上一页”和“下一页按钮
Oct 09 PHP
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
php cache类代码(php数据缓存类)
Apr 15 PHP
php date()日期时间函数详解
May 16 PHP
php上传文件的增强函数
Jul 21 PHP
CI框架自动加载session出现报错的解决办法
Jun 17 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
php保存信息到当前Session的方法
Mar 16 PHP
php一个解析字符串排列数组的方法
May 12 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
Dec 30 PHP
php 算法之实现相对路径的实例
Oct 17 PHP
PHP使用观察者模式处理异常信息的方法详解
Sep 24 PHP
php操作mongoDB实例分析
Dec 29 #PHP
Yii实现多数据库主从读写分离的方法
Dec 29 #PHP
php调用mysql存储过程实例分析
Dec 29 #PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 #PHP
php+mysqli实现批量替换数据库表前缀的方法
Dec 29 #PHP
PHP跨平台获取服务器IP地址自定义函数分享
Dec 29 #PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 #PHP
You might like
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
2013/04/08 PHP
YII实现分页的方法
2014/07/09 PHP
浅谈mysql_query()函数的返回值问题
2016/09/05 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
为jquery.ui.dialog 增加“自动记住关闭时的位置”的功能
2009/11/24 Javascript
js Event对象的5种坐标
2011/09/12 Javascript
js的alert样式如何更改如背景颜色
2014/01/22 Javascript
把jQuery的类、插件封装成seajs的模块的方法
2014/03/12 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
如何高效率去掉js数组中的重复项
2016/04/12 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
webpack入门+react环境配置
2017/02/08 Javascript
JS条形码(一维码)插件JsBarcode用法详解【编码类型、参数、属性】
2017/04/19 Javascript
用js将long型数据转换成date型或datetime型的实例
2017/07/03 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
Python实现PS滤镜中马赛克效果示例
2018/01/20 Python
Python交互环境下实现输入代码
2018/06/22 Python
python机器学习之KNN分类算法
2018/08/29 Python
用Python实现数据的透视表的方法
2018/11/16 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
2020/06/02 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
口腔工艺技术专业毕业生自荐信
2013/09/27 职场文书
优秀应届毕业生自荐信
2013/11/16 职场文书
总务岗位职责
2013/11/19 职场文书
服务行业个人求职的自我评价
2013/12/12 职场文书
幼儿教师求职信
2014/05/24 职场文书
关于读书的演讲稿500字
2014/08/27 职场文书
企业党员个人自我评价
2014/09/20 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL