tp5.0 结合 Redis Cache缓存风暴

Posted xdtx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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=================
    }

以上是关于tp5.0 结合 Redis Cache缓存风暴的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 结合 Spring Cache 操作 Redis 实现数据缓存

tp5.0清除缓冲

mybatis结合redis实战二级缓存

缓存处理类(MemoryCache结合文件缓存)

django-redis结合drf实现缓存

完整SpringBoot Cache整合redis缓存