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 相关文章推荐
Php+SqlServer实现分页显示
Oct 09 PHP
php和js交互一例-PHP教程,PHP应用
Jan 03 PHP
php 无限级 SelectTree 类
May 19 PHP
MayFish PHP的MVC架构的开发框架
Aug 13 PHP
PHP中图片等比缩放的实例
Mar 24 PHP
浅析51个PHP处理字符串的函数
Aug 02 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
php查找指定目录下指定大小文件的方法
Nov 28 PHP
解决laravel 5.1报错:No supported encrypter found的办法
Jun 07 PHP
PHP迭代器接口Iterator用法分析
Dec 28 PHP
php的扩展写法总结
May 14 PHP
Yii 框架使用Forms操作详解
May 18 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生成图片验证码-附五种验证码
2015/08/19 PHP
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
2015/08/23 PHP
Ubuntu 16.04下安装PHP 7过程详解
2017/03/28 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
Firefox getBoxObjectFor getBoundingClientRect联系
2008/10/26 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
eclipse如何忽略js文件报错(附图)
2013/10/30 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
javascript异步处理工作机制详解
2015/04/13 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
chrome调试javascript详解
2015/10/21 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
2016/07/27 Javascript
jquery遍历标签中自定义的属性方法
2016/09/17 Javascript
Angular.Js的自动化测试详解
2016/12/09 Javascript
JS中如何实现复选框全选功能
2016/12/19 Javascript
jQuery给表格添加分页效果
2017/03/02 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
js实现表格数据搜索
2020/08/09 Javascript
vue祖孙组件之间的数据传递案例
2020/12/07 Vue.js
使用AutoJs实现微信抢红包的代码
2020/12/31 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
安装2019Pycharm最新版本的教程详解
2019/10/22 Python
Python如何基于smtplib发不同格式的邮件
2019/12/30 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
研究生导师推荐信
2015/03/25 职场文书
离婚起诉书范文2015
2015/05/19 职场文书
防溺水安全教育主题班会
2015/08/12 职场文书
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
muduo TcpServer模块源码分析
2022/04/26 Redis