这是在PHP中缓存数据的好方法吗?

我已经找到了一种缓存数据的方法(这样我就不必在之前已经获取相同的数据时重新访问数据库了),并且我通过在函数内部使用静态变量来实现:

function get_user( $id, $flush=false ){
    static $cache;
    if ( isset($cache[$id]) && !$flush )
        return $cache[$id];
    // Do something here to get user information
    $user_info = $value;
    // Return value after storing data into cache
    return $cache[$id] = $user_info;
}

我不确定这是一个好主意还是有更好的方法来进行缓存.这是一个好方法吗?如果没有,那么有哪些缺点呢?

最佳答案 看看
here.描述了几种解决方案.缓存的类型取决于您需要缓存数据的时间.静态变量不在PHP进程之间共享,只能在很短的时间内缓存 – 跨越脚本执行生命周期.

点赞