[英]How can I optimize this code snippet to execute faster and with a smaller footprint?
我们有一个小脚本,使用memcache跟踪并发会话,客户端每隔10秒发出一次新请求,以“更新”其会话,并获得最新的在线用户数。
$session = $_GET['session'];
$streamid = $_GET['streamid'];
if(!is_null($session) && !is_null($streamid)) {
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$data = $memcache->get($streamid);
if($data === false) {
$data = array($session => time()+10);
$memcache->add($streamid,$data,0,10);
} else {
$now = time();
$streamCount = count($data);
for($i=0;$i<$streamCount;$i++) {
if($data[$i] > $now) {
unset($data[$i]);
}
}
$data[$session] = time()+10;
}
echo count($data);
} else {
echo 'no session or stream specified';
}
您是否尝试过运行它? 您需要优化它吗? 也许它像您现在想要的那样工作。 似乎更好的解决方案是将其解耦并尽可能干净地编写它。 把定时器放在呼叫周围,如果你发现某些东西很慢,那么试着修复那段代码。 如果您不需要,请不要优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.