这篇文章主要解决以下问题:用户每次登录小程序(包括第一次使用)及点击小程序的每个页面的时候,我们如何判断他当前的登录状态是否过期?如果过期,如何重新获取用户信息并发送至开发者服务器更新用户信息,以及设置新的用户登录状态?
将这个部分单独作为一篇文章有两个原因:
① wx.getUserInfo(OBJECT) 接口调整,废弃了以前直接获取用户信息的方法;
② 上篇文章授权、登录、session_key、unionId 只梳理了登录流程而没有贴实际的代码,所以这篇文章以代码实现为主。
1. 代码逻
网上很多人给出了解答:修改配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2) 概述:每一次php请求,会有1/100的概率(默认值)触发“session回收”。如果“session回收”发生,那就会检查/tmp/sess_*的文件,如果最后的修改时间到现在超过了1440秒(gc_maxlifetime的值),就将其删除,意味着这些session过期失效。 1. session在端(一般是 with PHP modul
生成RDB文件
在执行SAVE命令或者BGSAVE命令创建一个新的RDB文件时,程序会对数据库中的键进行检查,已过期的键不会被保存到新创建的RDB文件中。
举个例子,如果数据库中包含三个键k1、k2、k3,并且k2已经过期,那么当执行SAVE命令或者BGSAVE命令时,程序只会将k1和k3的数据保存到RDB文件中,而k2则会被忽略。
因此,数据库中包含过期键不会对生成新的RDB文件造成影响。
可参考rdb.c中函数rdbSave()函数源码:
/* Iterate this DB wri