1 概述
Redis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,本文介绍笔者在项目中使用Redis的场景。主要从以下几个方面介绍:
- 分布式锁
- 接口限流器
- 订单缓存
- Redis和DB数据一致性处理
- 防止缓存穿透和雪崩
- 分布式session共享
2 分布式锁
3 接口限流器
4 订单缓存
整个订单的存储结构如下:
- 使用Redis的zset数据结构存储每个用户的订单,按照下单时间倒序排列,用户唯一标识作为key,用户的订单集合作为value,使用订单创建时间的时间戳+订单号后三位作为分数
- 为什么不直接使用下单时间的时间戳作为分数?因为下单时间只精确到秒,同一秒可能出现多个订单情况,这样就会出现相同的分数,而加上订单号后三位就能基本上避免这种情景。
- 只放用户的