用 Memcache 可以缓解 php和数据库压力下面代码是解决高负载下数据库写入瓶颈问题,遇到最实用的:写入ip pv uv的时候,用户达到每分钟几万访问量,要记录这些数据,实时写入数据库必定奔溃.
用以下技术就能解决,还有如用户注册,同一时间断内,大量用户注册,可以缓存后一次性写入到数据库,代码如下:
<?php 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; //开源代码phprm.com 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文档 .
本文地址:
转载随意,但请附上文章地址:-)
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
3週間前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最高のグラフィック設定
3週間前By尊渡假赌尊渡假赌尊渡假赌
アサシンのクリードシャドウズ:シーシェルリドルソリューション
1週間前ByDDD
R.E.P.O.誰も聞こえない場合はオーディオを修正する方法
3週間前By尊渡假赌尊渡假赌尊渡假赌
Atomfallのクレーンコントロールキーカードを見つける場所
1週間前ByDDD

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック
Gmailメールのログイン入り口はどこですか?
7425
15


CakePHP チュートリアル
1359
52

