性能APC / MySQL与静态PHP数组

时间:2011-12-02 07:17:13

标签: php mysql apc

我使用以下函数替换前端页面中的短语。

它更容易维护并且似乎消耗更少的内存,但性能似乎以某种方式降低。

所以一般来说这是处理静态文本的“好方法”吗?

我还没有找到更好的方法。

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);
    }
}

0 个答案:

没有答案