It can be solved with the following techniques.
Also like user registration, the same time broken, a large number of users registered. can be cached and written to the database at once.
The code is as follows:
| The code is as follows |
Copy Code |
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));//Get to Key
if (count ($keys) >50) {//number of data bars to write
$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))//Login Write
if (Is_array ($logdata)) {
$this->addsuidinlogin ($logdata [0], $logdata [1], $logdata [2],1);
} */
/* $sdata = unserialize (S (' Regadd '. $ksv));//Register Write
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 '))//Bulk Write AddAll
$addb->table (' Mj_ad_count ')->addall ($ress);
Echo M ()->getlastsql ();
} |
Report:
Available tools such as: memadmin and memadmin documentation.