微信access_token存储方案

access_token的特点

1.每天请求次数为2000次;
2.每个access_token有效期为2小时;


存储方案

1.数据库:通过微信接口获取到 access_token 之后,将 access_token+ 当前时间戳序列化存储,每次需要 access_token时,从数据库取出,然后反序列化对比时间戳,如果过期,重新调用微信接口并更新数据库记录;

2.NoSQl:这里以 Redis 为例子。通过微信接口获取到 access_token之后,存入 Redis 并设置过期时间,每次需要 access_token时,去 Redis 查询,如果没有查询到记录说明上次获取到的access_token已过期,重新获取并更新记录;

3.文件存储:这个比较适合单一公众号的情况。通过微信接口获取到 access_token 之后,存入文件,可以选择性将时间戳一并存入。每次需要 access_token 时,如果之前未记录时间戳,则比较文件修改时间与当前时间,然后选择读取记录或者重新调用微信接口更新记录,否则先读取文件内容,然后对比之后选择下一步行为。


分层存储

  1. 首先读取缓存(如memcache、redis或文件缓存都行)

  2. 如果缓存读取失败,就读取数据库(并写入缓存。下次就直接读取缓存了)

  3. 最后通过微信API接口获取,获取后写入到数据库,并写入到缓存


你可能感兴趣的:(微信,PHP)