0

0

使用缓存Memcache存储更新微信access token

php中文网

php中文网

发布时间:2016-06-07 15:42:44

|

1254人浏览过

|

来源于php中文网

原创

关键字:Memcacheaccess_token 更新 存储 7200 本文介绍如何 使用 缓存 Memcache 存储 及 更新 access token的方法。 一、Access Token access_token是公众号的全局唯一票据,公众号调用各接口时都需 使用 access_token。正常情况下 access_token有效期为720

关键字:memcache access_token 更新 存储 7200

本文介绍如何使用缓存Memcache存储更新 access token的方法。

 

一、Access Token

access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。

公众号可以使用AppID和AppSecret调用本接口来获取access_token。AppID和AppSecret可在开发模式中获得(需要已经成为开发者,且帐号没有异常状态)。注意调用所有微信接口时均需使用https协议。

接口调用请求说明

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET

参数说明

参数 是否必须 说明
grant_type 获取access_token填写client_credential
appid 第三方用户唯一凭证
secret 第三方用户唯一凭证密钥,既appsecret

返回说明

正常情况下,微信会返回下述JSON数据包给公众号:

信言企业程序3.0
信言企业程序3.0

信言企业程序是一套企业建站系统,采用ASP+ACCESS架构,采用utf-8编码。信言企业程序特点:1、本代码全部重新编写2、编码仍然续传v2.0的特点 采用utf-8编码 3、程序缓存使用到位,网页打开速度极快4、本站程序模板样式可以自己更新,操作简便

下载
{"access_token":"ACCESS_TOKEN","expires_in":7200}

 

二、Memcache

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
Memcache是danga的一个项目,最早是LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。
Memcached是以守护程序(监听)方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。

 

三、实现

<?<span>php

</span><span>/*</span><span>
    方倍工作室 http://www.cnblogs.com/txw1958/
    CopyRight 2014 All Rights Reserved
</span><span>*/</span>

<span>define</span>("APPID", "wx1111111111111111"<span>);
</span><span>define</span>("APPSECRET", "11111111111111111111111111111111"<span>);

</span><span>$weixin</span> = <span>new</span><span> class_weixin();
</span><span>var_dump</span>(<span>$weixin</span><span>);

</span><span>class</span><span> class_weixin
{
    </span><span>var</span> <span>$appid</span> =<span> APPID;
    </span><span>var</span> <span>$appsecret</span> =<span> APPSECRET;

    </span><span>//</span><span>构造函数,获取Access Token</span>
    <span>public</span> <span>function</span> __construct(<span>$appid</span> = <span>NULL</span>, <span>$appsecret</span> = <span>NULL</span><span>)
    {
        </span><span>if</span>(<span>$appid</span> && <span>$appsecret</span><span>){
            </span><span>$this</span>->appid = <span>$appid</span><span>;
            </span><span>$this</span>->appsecret = <span>$appsecret</span><span>;
        }
        </span><span>$mem</span> = <span>new</span><span> Memcache;
        </span><span>$mem</span>->connect('localhost', 11211) or <span>die</span> ("Could not connect"<span>);
        </span><span>$this</span>->access_token = <span>$mem</span>->get('access_token'<span>);
        </span><span>if</span> (<span>empty</span>(<span>$this</span>-><span>access_token)){
            </span><span>$url</span> = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".<span>$this</span>->appid."&secret=".<span>$this</span>-><span>appsecret;
            </span><span>$res</span> = <span>$this</span>->http_request(<span>$url</span><span>);
            </span><span>$result</span> = json_decode(<span>$res</span>, <span>true</span><span>);
            </span><span>$this</span>->access_token = <span>$result</span>["access_token"<span>];
            </span><span>$mem</span>->set('access_token', <span>$this</span>->access_token, 0, 7200<span>);
        }
    }

    </span><span>//</span><span>HTTP请求(支持HTTP/HTTPS,支持GET/POST)</span>
    <span>protected</span> <span>function</span> http_request(<span>$url</span>, <span>$data</span> = <span>null</span><span>)
    {
        </span><span>$curl</span> =<span> curl_init();
        curl_setopt(</span><span>$curl</span>, CURLOPT_URL, <span>$url</span><span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_SSL_VERIFYPEER, <span>FALSE</span><span>);
        curl_setopt(</span><span>$curl</span>, CURLOPT_SSL_VERIFYHOST, <span>FALSE</span><span>);
        </span><span>if</span> (!<span>empty</span>(<span>$data</span><span>)){
            curl_setopt(</span><span>$curl</span>, CURLOPT_POST, 1<span>);
            curl_setopt(</span><span>$curl</span>, CURLOPT_POSTFIELDS, <span>$data</span><span>);
        }
        curl_setopt(</span><span>$curl</span>, CURLOPT_RETURNTRANSFER, 1<span>);
        </span><span>$output</span> = curl_exec(<span>$curl</span><span>);
        curl_close(</span><span>$curl</span><span>);
        </span><span>return</span> <span>$output</span><span>;
    }
}
</span>?>

 

相关文章

微信app下载
微信app下载

微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
Golang 并发编程模型与工程实践:从语言特性到系统性能
Golang 并发编程模型与工程实践:从语言特性到系统性能

本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

2

2026.02.27

Golang 高级特性与最佳实践:提升代码艺术
Golang 高级特性与最佳实践:提升代码艺术

本专题深入剖析 Golang 的高级特性与工程级最佳实践,涵盖并发模型、内存管理、接口设计与错误处理策略。通过真实场景与代码对比,引导从“可运行”走向“高质量”,帮助构建高性能、可扩展、易维护的优雅 Go 代码体系。

1

2026.02.27

Golang 测试与调试专题:确保代码可靠性
Golang 测试与调试专题:确保代码可靠性

本专题聚焦 Golang 的测试与调试体系,系统讲解单元测试、表驱动测试、基准测试与覆盖率分析方法,并深入剖析调试工具与常见问题定位思路。通过实践示例,引导建立可验证、可回归的工程习惯,从而持续提升代码可靠性与可维护性。

0

2026.02.27

漫蛙app官网链接入口
漫蛙app官网链接入口

漫蛙App官网提供多条稳定入口,包括 https://manwa.me、https

56

2026.02.27

deepseek在线提问
deepseek在线提问

本合集汇总了DeepSeek在线提问技巧与免登录使用入口,助你快速上手AI对话、写作、分析等功能。阅读专题下面的文章了解更多详细内容。

4

2026.02.27

AO3官网直接进入
AO3官网直接进入

AO3官网最新入口合集,汇总2026年可用官方及镜像链接,助你快速稳定访问Archive of Our Own平台。阅读专题下面的文章了解更多详细内容。

53

2026.02.27

php框架基础教程
php框架基础教程

本合集涵盖2026年最新PHP框架入门知识与基础教程,适合初学者快速掌握主流框架核心概念与使用方法。阅读专题下面的文章了解更多详细内容。

1

2026.02.27

php框架怎么用
php框架怎么用

本合集专为零基础学习者打造,系统介绍主流PHP框架的安装、配置与基础用法,助你快速入门Web开发。阅读专题下面的文章了解更多详细内容。

4

2026.02.27

无禁词AI聊天软件下载大全
无禁词AI聊天软件下载大全

本合集精选多款免费、无违禁词限制的AI聊天软件,支持自定义角色、剧情畅聊,体验真实互动感。阅读专题下面的文章了解更多详细内容。

19

2026.02.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 12.3万人学习

CSS3 教程
CSS3 教程

共18课时 | 6.3万人学习

Git 教程
Git 教程

共21课时 | 3.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号