PHP静态缓存不起作用

时间:2018-04-20 05:25:26

标签: php caching

我是PHP的新手,并且正在尝试为Wordpress开发一个Facebook共享计数器。正如一位成员所建议的那样,由于每次调用API并减慢网站速度并不是最佳的,所以我决定缓存结果并使用静态方法。这是我正在使用的代码。

function fb_cache($atts) {
    $url = $atts['url'];
    static $fb_cache = array();
    if (isset($fb_cache[$url])) {
    $fb_count = $fb_cache[$url];
    return $fb_count;   
    } else {
    $fb = json_decode( file_get_contents('http://graph.facebook.com/' . $url) );
    $fb_count = $fb->share->share_count; 
    $fb_cache[$url] = $fb_count;
    return $fb_count;
    }
}

这似乎不起作用,因为数字每隔几秒就会不断变化,因此每次都会进行API调用。要将它用作插件,我最后还有一个实例化代码。

static function get_instance() {
    static $instance = false;

    if ( ! $instance ) {
        $instance = new self;
    }

}

有人可以告诉我我做错了什么。如果这是一个noob问题,如果我完全使用错误的方法,我道歉。

0 个答案:

没有答案