Производительность APC / MySQL против статического массива PHP - PullRequest
0 голосов
/ 02 декабря 2011

Я использую следующую функцию для замены коротких фраз на первых страницах.

Его проще обслуживать, и, кажется, он потребляет меньше памяти, но производительность, похоже, несколько снизилась.

Так в общем ли это "хороший способ" обрабатывать такой статический текст?

Я не нашел лучшего способа.

function get($tag,$hl = false) { // Language based Textstring
    $tag = strtolower($tag);
    $rtag = urlencode($tag);

    global $_SESSION;
    if (!$hl) {
        if (!isset($_SESSION['hl'])) { // set Default language to English
            $_SESSION['hl'] = "en";
        } 
        $hl = $_SESSION['hl'];  // set Session language if none given
    }

    if (!apc_exists('hl'.$hl.$rtag)) {
        global $db,$APC,$_SESSION;
        $r = $db->fetchRow("select $hl from language where tag='$tag' limit 1;");
        if (($r)&&(strlen($r[$hl]) > 2)) {
            apc_add('hl'.$hl.$rtag,$r[$hl],$APC['time']['Language']['get']);
            return $r[$hl];
        }
        else {
            return "$". $tag;
        }   
    }
    else { // data avaiable ... get cache
        return apc_fetch('hl'.$hl.$rtag);
    }
}
...