博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis存储AccessToken
阅读量:7012 次
发布时间:2019-06-28

本文共 1595 字,大约阅读时间需要 5 分钟。

AccessToken 2小时有效。

就不要每次都调取了,这样会造成浪费。

或者存入Session中,设置过期时间。

或者存入Redis中,设置过期时间。
过期之后,进行重新获取。

red = Red::create(); } // 获取access_token public function get_access_token() { // 查询缓存中是否存在 $k = "access_token_".C('APPID'); if ($this->getCacheTtl($k)) { return $this->getCache($k); } vendor('Func.Http'); // 获取Token $request_url = "https://api.weixin.qq.com/cgi-bin/token?"; $request_url .= "grant_type=client_credential&appid=".C('APPID')."&secret=".C('APP_SECRET'); $data = json_decode(Http::doGet($request_url,30),true); $this->setCache($k,$data['access_token'],$data['expires_in'] - self::TOKEN_EXPIRES); return $data['access_token']; } // 存 protected function setCache($k, $v, $expires = -1) { if ($expires == -1) { return $this->red->set($k, $v); } else { return $this->red->setex($k, $expires, $v); } } // 取 public function getCache($k) { return $this->red->get($k); } // 查看剩余时间 public function getCacheTtl($k) { $ttl = $this->red->ttl($k); if ($ttl != '-2') { return $ttl; } else { return false; } } // 查看是否存在 public function cacheExists($k) { return $this->red->exists($k); }}

想得到AccessToken需要知道AppID和AppSecret。这两个数据,可以配置起来。

然后需要初始化Redis。
然后需要几个独立的Redis函数。
存储,获取,判断是否过期。

判断Redis中是否存在,且未过期。

如果有,直接获取。
如果没有,通过HttpGet请求,得到AccessToken。存入Redis中,并返回。

Redis很强大,只要保证key值不重复,就可以存储任何数据。

这里key值通过AppID进行唯一标示,防止有别的access_token也要存储。

PHP的redis扩展函数,功能强大!

转载地址:http://dbqtl.baihongyu.com/

你可能感兴趣的文章
Java多线程之并发安全经典案例-卖票
查看>>
从程序员的角度设计一个Java的神经网络
查看>>
一种在 Library 模块中调用 Application 模块功能的方法
查看>>
远程入侵原装乘用车(中)
查看>>
人手一份核武器 - Hacking Team 泄露(开源)资料导览手册
查看>>
一起撸个朋友圈吧 点赞列表背景问题修复
查看>>
面试官,你再问我 Bit Operation 试试?
查看>>
PSV 3.60 固化升级到 3.68 破解完全攻略
查看>>
Android 路由框架
查看>>
当Kotlin遇见RxJava多数据源
查看>>
vue踩坑记- Cannot find module 'wrappy'
查看>>
【实操干货】KVM命令管理虚拟机与性能优化
查看>>
前端架构思想:聚类分层
查看>>
如何使用Thinkphp搭建商城系统(一)
查看>>
网易云副总经理陈谔:平台+场景化塑造差异优势
查看>>
Java架构师最关键三个思维转变方式
查看>>
OpenGL Android课程四:介绍纹理基础
查看>>
URL中“#” “?” &“”号的作用
查看>>
jQuery_渐隐式轮播效果插件封装
查看>>
以太坊2.0协议核心Beacon链详解
查看>>