繁体   English   中英

如何优化此代码段以更快地执行并占用更小的空间?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM