PHP高并发的类 不用架构,再烂的PHP代码,再烂的SQL语句,一样能承受5W人同时访问,上一个帖子不知道怎么回事,资源上传后就没了。这次再发一次。地址:http://download.csdn.net/detail/q184996833/5800367PHP并发架构SQL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你们自己评价一下,值不值得化 5 分<?phpclass WebSupervene{ private $filename = ""; private $count = 50; /** * @return the $filename */ public function getFilename() { return $this->filename; } /** * 设置并发访问人数 * @param number $count */ public function setCount($count) { $this->count = $count; } function __construct(){ $dir="./_runlist"; $this->filename=$dir."/~Supervene"; if(!is_dir($dir)){ mkdir($dir); } } /** * 缓存队列 */ private function saveCache($value){ $cache=self::read(); $time = date("YmdHis",time()); $wcache=""; if(!$cache){ $warr[$value]=$time; $wcache = serialize($warr); }else{ $warr=unserialize($cache); $warr_rs=array_keys($warr,$time); if(empty($warr_rs)){ unset($warr); $warr[$value]=$time; $wcache = serialize($warr); }else{ if(count($warr_rs)<$this->count){ $warr[$value]=$time; $wcache = serialize($warr); }else{ return false; } } } if($wcache!==""){ self::write($wcache); return true; }else{ return false; } } /** * 读取缓存 */ private function read(){ $fread = fopen(self::getFilename(), "r"); if($fread){ $contents = fread($fread, filesize (self::getFilename())); fclose($fread); return $contents; }else{ return false; } } /** * 写入缓存 */ private function write($value){ $fwrite = fopen(self::getFilename(), 'w+'); fwrite($fwrite, $value); fclose($fwrite); } /** * 主入口 * @param unknown_type $ip */ public function Supervene($ip){ if(!self::saveCache($ip)){ echo "<script language=JavaScript> location.replace(location.href);</script>"; exit; } }}?> 各位高手请进,关于数字证书共享的问题(远程socket抓取) 用PHP与SQL Server连接起来,怎样获得其中的数据库列表?有没有诸如mysql_list_dbs()这样的函数? 网站开发技术路线 Session会话的配置问题 求教高手,另类注册方式是否有安全问题。 SmartTemplate模板读取数据不能循环 无法调用include/common.inc.php cacti , 无法显示图像 , 请高手帮忙 php 处理html时,字符串截断 PHP 5.6 微信上传永久素材报41005 开发商城系统,遇到的问题 PHP实现高并发的类,负载平衡,能承受5W人同时访问
class WebSupervene{
private $filename = "";
private $count = 50;
/**
* @return the $filename
*/
public function getFilename() {
return $this->filename;
} /**
* 设置并发访问人数
* @param number $count
*/
public function setCount($count) {
$this->count = $count;
} function __construct(){
$dir="./_runlist";
$this->filename=$dir."/~Supervene";
if(!is_dir($dir)){
mkdir($dir);
}
}
/**
* 缓存队列
*/
private function saveCache($value){
$cache=self::read();
$time = date("YmdHis",time());
$wcache="";
if(!$cache){
$warr[$value]=$time;
$wcache = serialize($warr);
}else{
$warr=unserialize($cache);
$warr_rs=array_keys($warr,$time);
if(empty($warr_rs)){
unset($warr);
$warr[$value]=$time;
$wcache = serialize($warr);
}else{
if(count($warr_rs)<$this->count){
$warr[$value]=$time;
$wcache = serialize($warr);
}else{
return false;
}
}
}
if($wcache!==""){
self::write($wcache);
return true;
}else{
return false;
}
}
/**
* 读取缓存
*/
private function read(){
$fread = fopen(self::getFilename(), "r");
if($fread){
$contents = fread($fread, filesize (self::getFilename()));
fclose($fread);
return $contents;
}else{
return false;
}
}
/**
* 写入缓存
*/
private function write($value){
$fwrite = fopen(self::getFilename(), 'w+');
fwrite($fwrite, $value);
fclose($fwrite);
}
/**
* 主入口
* @param unknown_type $ip
*/
public function Supervene($ip){
if(!self::saveCache($ip)){
echo "<script language=JavaScript> location.replace(location.href);</script>";
exit;
}
}
}
?>