tp5.0 结合 Redis Cache缓存风暴

方法介绍

1.sadd()

描述:为一个Key添加一个值。如果这个值已经在这个Key中,则返回FALSE。
参数:key value
返回值:成功返回true,失败false
 
2.delete()
描述:删除指定的键
参数:一个键,或不确定数目的参数,每一个关键的数组:key1 key2 key3 … keyN
返回值:删除的项数
    private function getJsApiTicket()
    {
        //==================Author  D xx Start=================
        //1.缓存 WxJsapiTicket
        if (!$jsapiTicket = Cache::get('WxJsapiTicket')) {
            if (Cache::init()->handler()->sAdd('wxJsapiStorm', '11')) {
                //1.1获取 AccessToken
                $accessToken = $this->getAccessToken();
                //1.2请求
                $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token={$accessToken}";
                $res = file_get_contents($url);
                trace($res);
                $res = json_decode($res);
                $jsapiTicket = $res->ticket;

                if (isset($jsapiTicket)) {
                    //缓存
                    Cache::set('WxJsapiTicket', $jsapiTicket, 7000);

                }
                // 删除键
                Cache::init()->handler()->delete('wxJsapiStorm');
            } else {
                sleep(1);
                $this->getJsApiTicket();
            }
        }

        return $jsapiTicket;
        //==================Author  D xx End=================
    }

猜你喜欢

转载自www.cnblogs.com/xdtx/p/9225598.html
今日推荐