黑马点评-整理

Redis实战项目总结

根据黑马程序员的Redis项目讲解的内容进行整理,以免看了就忘!💪

网址:黑马点评项目实战,掌握企业实战项目真实应用场景,一套精通redis缓存技术_哔哩哔哩_bilibili

验证码登录

基于Session实现的登录

优点:

  1. 每个浏览器拥有属于自己的session,tomcat同时处理多个session,所以验证码互不干扰,getAttribute("code") 即可。

缺点:

  1. session保存验证码,占用tomcat空间,后端压力过大。ps:通常而言session都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大

  2. 多台tomcat不共享session存储空间,当切换tomcat服务时会发生数据错误。(可以使用session拷贝功能,但是会造成空间浪费,并且拷贝需要时间)

基于Redis实现的登录

需要注意:

  1. 校验登录的时候Redis的key值设置为手机号,每次验证登录的时候根据key读取验证码,与用户提交的验证码进行验证是否相等。需要加前缀表示一个业务。

  2. 短信验证码登录成功后,将用户信息存入Redis,这时的key值不设置成手机号,为了安全设置成token(如UUID,JWT)。因为不像session,浏览器会将sessionId写到cookie中,而我们需要将token手动发送到前端保存在浏览器内,如果存手机号容易暴露信息。前端可以将返回的结果保存在localStorage(浏览器本地缓存)或sessionStorage(session缓存)上,退出登录时前端删除保存的JWT即可。

  3. 设置过期时间。

缓存功能

缓存更新策略:TODO 三种缓存更新策略

穿透、击穿、雪崩:穿透、击穿、雪崩-花's Blog

LICENSED UNDER CC BY-NC-SA 4.0
Comment