Как я могу оптимизировать этот фрагмент кода, чтобы он выполнялся быстрее и занимал меньше места? - PullRequest
0 голосов
/ 07 января 2011

У нас есть небольшой скрипт, который использует 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 Ответ

2 голосов
/ 07 января 2011

Вы уже пробовали это запустить?Вам нужно оптимизировать это?Может быть, это работает так, как вы хотите прямо сейчас.Похоже, что лучшим решением было бы отделить его и написать как можно более чистым.Включите таймеры вокруг вызовов, и если вы видите что-то медленное, попробуйте исправить этот кодНе оптимизируйте, если вам не нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...