LaneWeChat\Core\AccessToken::_getFromMemcache PHP Method

_getFromMemcache() private static method

private static _getFromMemcache ( ) : string
return string
    private static function _getFromMemcache()
    {
        //初始化memcache,前提是已经开启memcache服务
        if (function_exists('memcache_init') && function_exists('memcache_get') && function_exists('memcache_set')) {
            $mmc = memcache_init();
            //从memcache之中取值
            $accessToken = memcache_get($mmc, 'key');
            //看memcache之中是否的值是否过期/存在,true直接返回
            if (!empty($accessToken)) {
                return $accessToken;
            } else {
                //如果memcache中的值已经过期/不存在,再次请求获取
                $url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . WECHAT_APPID . '&secret=' . WECHAT_APPSECRET;
                $accessToken = Curl::callWebServer($url, '', 'GET');
                if (!isset($accessToken['access_token'])) {
                    return Msg::returnErrMsg(MsgConstant::ERROR_GET_ACCESS_TOKEN, '获取ACCESS_TOKEN失败');
                }
                //将access_token的值存入memcache并且设置其过期时间2000秒,微信平台默认是7200秒,此处设置的值比7200小就可以
                $val = memcache_set($mmc, 'key', $accessToken['access_token'], 0, 7000);
                return $accessToken['access_token'];
            }
        } else {
            exit('SAE环境下不支持写文件.并且您尚未开启memcache.请在lanewechat/core/accesstoken.lib.php的getAccessToken()方法为入口自行编写存取access_token的方式');
        }
    }