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 4.2书写安全的脚本
Oct 09 PHP
用PHP调用Oracle存储过程
Oct 09 PHP
PHP的ASP防火墙
Oct 09 PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
PHP中数组定义的几种方法
Sep 01 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
php实现读取内存顺序号
Mar 29 PHP
PHP实现加密文本文件并限制特定页面的存取的效果
Oct 21 PHP
PHP中时间加减函数strtotime用法分析
Apr 26 PHP
PHP PDOStatement::bindColumn讲解
Jan 30 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实现智能文件类型检测的实现代码
2011/08/02 PHP
Laravle eloquent 多对多模型关联实例详解
2017/11/22 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
firefox 和 ie 事件处理的细节,研究,再研究 书写同时兼容ie和ff的事件处理代码
2007/04/12 Javascript
js用图作提交按钮或超连接
2008/03/26 Javascript
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
基于jQuery的表格操作插件
2010/04/22 Javascript
jQuery学习笔记之控制页面实现代码
2012/02/27 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
js防止DIV布局滚动时闪动的解决方法
2014/10/30 Javascript
jquery实现可自动判断位置的弹出层效果代码
2015/10/12 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
Javascript 实现简单计算器实例代码
2016/10/23 Javascript
微信小程序商城项目之侧栏分类效果(1)
2017/04/17 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
2019/02/18 Javascript
vue实现新闻展示页的步骤详解
2019/04/11 Javascript
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
2019/05/27 Javascript
ionic3双击返回退出应用的方法
2019/09/17 Javascript
关于在LayUI中使用AJAX提交巨坑记录
2019/10/25 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
python实现自动登录
2018/09/17 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
python实现mask矩阵示例(根据列表所给元素)
2020/07/30 Python
冰淇淋店创业计划书范文
2013/12/27 职场文书
技校个人求职信范文
2014/01/25 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
个人自荐书范文
2015/03/09 职场文书
初中班主任工作随笔
2015/08/15 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
Android实现图片九宫格
2022/06/28 Java/Android