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 相关文章推荐
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
codeigniter教程之多文件上传使用示例
Feb 11 PHP
php实现的DateDiff和DateAdd时间函数代码分享
Aug 16 PHP
PHP中上传多个文件的表单设计例子
Nov 19 PHP
PHP模板引擎smarty详细介绍
May 26 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
Jun 30 PHP
PHP+Mysql无刷新问答评论系统(源码)
Dec 20 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
Mar 08 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
Jun 13 PHP
PHP的mysqli_thread_id()函数讲解
Jan 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&amp;&amp;mysql)六
2006/10/09 PHP
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php使用array_chunk函数将一个数组分割成多个数组
2018/12/05 PHP
PHP PDOStatement::getColumnMeta讲解
2019/02/01 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
javascript this用法小结
2008/12/19 Javascript
用jQuery简化JavaScript开发分析
2009/02/19 Javascript
utf-8编码引起js输出中文乱码的解决办法
2010/06/23 Javascript
js 手机号码合法性验证代码集合
2012/09/29 Javascript
select标记美化--JS式插件、后期加载
2013/04/01 Javascript
js 走马灯简单实例
2013/11/21 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
基于javascript实现九宫格大转盘效果
2020/05/28 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
Node.js API详解之 readline模块用法详解
2020/05/22 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
windows下python模拟鼠标点击和键盘输示例
2014/02/28 Python
python中使用smtplib和email模块发送邮件实例
2014/04/22 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
一行代码让 Python 的运行速度提高100倍
2018/10/08 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
2019/08/28 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
.NET方向面试题
2014/11/20 面试题
软件测试工程师笔试题带答案
2015/03/27 面试题
幼儿园优秀班主任事迹材料
2014/05/14 职场文书
优秀党支部申报材料
2014/12/24 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL