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

时间:2011-01-06 23:59:59

标签: php memcached

我们有一个小脚本,使用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';
}

1 个答案:

答案 0 :(得分:2)

你尝试过这个吗?你需要优化吗?也许它就像你现在想要的那样。似乎更好的解决方案是将其解耦并尽可能地将其写为干净。把定时器放在呼叫周围,如果你发现某些东西很慢,那么试着修复那段代码。如果您不需要,请不要进行优化。