redis应该存储用户哪些信息比较合理?
来源:7-18 获取登录用户基本信息数据

月绒兔子
2020-02-25
老师您好,redis存放用户的api请求token和uid,用来判断用户登录状态,这个没问题。
使用redis一方面提高运行效率,另一方面减少数据库查询次数。
但是,有个业务场景,除了需要验证token的正确性和过期时间外,还要验证用户是否处于被冻结状态(status),或者根据用户的权限级别(auth_level)来限制部分api调用权限。
问题如下:
- redis是否也要存放status和auth_level?
- redis如果存放status和auth_level,当后台管理员进行修改的时候,还需要更新redis里该用户的信息,这样做感觉有点麻烦?不知是否合理?
- redis如果不存放status和auth_level,那每次验证完token后,还是要去查数据库,这就又失去了使用redis减少数据库查询的意义。
以上,想请教老师,在实际项目中,如何考虑?感谢老师!
写回答
1回答
-
singwa
2020-02-27
亲爱的同学您好, 如果您说的这种冻结状态、用户级别等这种在登录场景以及商城API鉴权的时候需要用到的话,那这些信息最好再redis中有一份, 并且在后端修改的时候也需要同步到redis,做到缓存穿透。
00
相似问题