用户会话管理
场景:用户登录后存储会话信息,支持多服务器共享
实现:
-
用户登录成功后,生成唯一Token(如JWT),作为Redis的Key
-
Value存储用户ID、角色、权限等信息,设置过期时间(如30分钟)
-
每次请求验证Token有效性,并刷新过期时间
高频数据缓存(减轻数据库压力)
场景:缓存员工信息、部门结构等频繁查询的数据
实现:
-
查询时优先访问Redis,未命中则查数据库并写入缓存
-
设置合理过期时间(如10分钟),或在数据更新时主动清除缓存
消息队列(异步任务处理)
场景:异步发送通知(入职欢迎邮件、离职流程处理)
实现:
-
使用Redis List作为队列,生产者推送任务,消费者轮询处理
限流与安全控制
场景:限制用户登录尝试次数
实现:
-
使用Redis计数器记录失败次数,超出阈值后锁定
分布式锁(避免并发冲突)
场景:确保批量导入员工数据的原子性
实现:
-
使用SETNX命令获取锁,防止多节点同时操作
验证码存储
场景:用户注册或重置密码时发送验证码
实现:
-
存储验证码并设置短时过期(如5分钟)
全页缓存
场景:缓存不常变化的页面(如部门列表)
实现:
-
页面首次生成后存入Redis,访问时直接返回。