redis应该存储用户哪些信息比较合理?

来源:7-18 获取登录用户基本信息数据

月绒兔子

2020-02-25

老师您好,redis存放用户的api请求token和uid,用来判断用户登录状态,这个没问题。
使用redis一方面提高运行效率,另一方面减少数据库查询次数。
但是,有个业务场景,除了需要验证token的正确性和过期时间外,还要验证用户是否处于被冻结状态(status),或者根据用户的权限级别(auth_level)来限制部分api调用权限。
问题如下:

  1. redis是否也要存放status和auth_level?
  2. redis如果存放status和auth_level,当后台管理员进行修改的时候,还需要更新redis里该用户的信息,这样做感觉有点麻烦?不知是否合理?
  3. redis如果不存放status和auth_level,那每次验证完token后,还是要去查数据库,这就又失去了使用redis减少数据库查询的意义。

以上,想请教老师,在实际项目中,如何考虑?感谢老师!

写回答

1回答

singwa

2020-02-27

亲爱的同学您好, 如果您说的这种冻结状态、用户级别等这种在登录场景以及商城API鉴权的时候需要用到的话,那这些信息最好再redis中有一份, 并且在后端修改的时候也需要同步到redis,做到缓存穿透。

0
0

全流程开发 TP6.0实战高并发电商服务系统

一课就能掌握TP6.0基础及运用,打造完整高并发的电商后端项目

1463 学习 · 1332 问题

查看课程