微信开发之所以memcache对access_token进行全局缓存优化
白羽 2019-01-08 来源 :网络 阅读 978 评论 0

摘要:本文将带你了解微信开发62----所以memcache对access_token进行全局缓存优化,希望本文对大家学微信有所帮助。

    本文将带你了解微信开发62----所以memcache对access_token进行全局缓存优化,希望本文对大家学微信有所帮助。


 

公众号调用接口并不是无限制的,为了防止公众号的程序错误而引发微信服务器负载异常,默认情况下,

每个公众号调用接口都不能超过一定限制,当超过一定限制时,调用对应接口会收到错误信息,造成调用失败。

我们也可以在手册里面清晰的看得到,如下所示:

 

我们的memcache可以将数据限时存放在内存中,我可可以将access_token放入到memcache中,将有效时间设置为2小时,在2小时内,

我们直接从memcache中获取access_token,而不是每次都从腾讯服务器中去取access_token,这样就大大降低了对获取access_token接口的调用次数。

当2小时后,memcache中的access_token失效,这时我们可以在次到腾讯的服务器获取新的access_token,然后在此缓存到memcache中,如此类推即可。

 

memcache是需要安装的,详细的安装方法可以观看夺命雷公狗的memcache课程里面的第一节课,里面详细的介绍了memcache的安装方法

废话不多说,直接用access_token.php进行修改,代码如下所示:

 

connect('127.0.0.1',11211)){        die('memcache链接失败');    }          $access_token = $mem->get($appid);      //如果获取到,说明memcache存在这个access_token就直接使用      //如果没有获取到,$access_token就会false,我们就按原来的方法获取,并且将access_token缓存到memcache中    if(!$access_token){        $appsecret =   'd4624c36b6795d1d99dcf0547af5443d';          $url =   "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";                //我们使用curl函数        //初始化        $ch = curl_init();        //设置变量        curl_setopt($ch, CURLOPT_URL,$url);   //这意思是,设置好发送的url地址发送到那          //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,$url); 这样的意思是对方要不要验证,如果不用则按照下面的即可        curl_setopt($ch,   CURLOPT_SSL_VERIFYPEER,FALSE); //如果不用验证,这样即可        curl_setopt($ch,   CURLOPT_SSL_VERIFYHOST,FALSE); //如果不用验证HOST主机这样即可        curl_setopt($ch,   CURLOPT_RETURNTRANSFER,1); //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出        //执行        $output = curl_exec($ch); //返回来的值是一个json格式的值        //关闭句柄        curl_close($ch);        //对返回的json结果要将他转为一个数组        $jsoninfo = json_decode($output,true);        //测试以下,看下是否拿到返的回数组        //var_dump($jsoninfo);                 $access_token =   $jsoninfo['access_token'];                  //将access_token缓存到memcache中去, MEMCACHE_COMPRESSED 是压缩的意思          $mem->set($appid,$access_token,MEMCACHE_COMPRESSED,7000);      }

 

   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之微信频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved