做毕设遇到的一个session问题

我在做毕业设计的时候遇到一个问题,关于session会话的问题,毕设做的是微信开发,现状是

我在用户关注公众号的时候将该用户的openId(微信接口拿到的,用户唯一标识),持久化到数据库,同时存放到session中在用户进入微信内页面登录时,拿到这个openId,然后再将用户登录时填写的电话号码更新到该条用户记录中去。

现在的问题是登录后台获取到这个session与我存放openId的session不一致,通过打印sessionId发现登录时创建的是一个新的session,这样我就拿不到这个openId,无法将电话号码存入到该条记录。

自己尝试解决时,想到使用一个全局的static map存放,这样可以拿到openId,但是后面发现这个全局的map是所有用户共享的,存放的openId可能被修改,会不一致,所以我想不到该怎么解决这个openId存放的问题,请各位提供一个思路

微信中openId是不会变的,应该使用openId去数据库中获取用户信息。

没做过公众号开发,刚才去官网看了一下,有这么一条

**许多复杂的业务场景,需要通过网页形式来提供服务,这时需要用到:
1)网页授权获取用户基本信息:通过该接口,可以获取用户的基本信息(获取用户的OpenID是无需用户同意的,获取用户的基本信息则需用户同意)

我觉得在用户在公众号内访问你的登录界面时,时可以通过相关的借口获取到这个openId。
还有,我个人觉得用户关注时候的session肯定不会和微信内页面的session相同。

去微信拿,或者本地数据库拿,也可以用缓存

我感觉这两个session不会一致的,思路不太对,不能用session进行这一块的开发,这个openId可以直接利用接口获取到,所以没必要放到seesion里面,
直接去数据库里面拿数据匹配,访问数据量大用redis做个缓存也行。