Redis作为一款性能优异的内存数据库,在互联网公司有着多种应用场景,本文介绍笔者在项目中使用Redis的场景。
主要从以下几个方面介绍:
分布式锁 (推荐学习:Redis视频教程)
接口限流器
订单缓存
Redis和DB数据一致性处理
防止缓存穿透和雪崩
分布式session共享
订单缓存
整个订单的存储结构如下:
使用Redis的zset数据结构存储每个用户的订单,按照下单时间倒序排列,用户唯一标识作为key,用户的订单集合作为value,使用订单创建时间的时间戳+订单号后三位作为分数
为什么不直接使用下单时间的时间戳作为分数?因为下单时间只精确到秒,同一秒可能出现多个订单情况,这样就会出现相同的分数,而加上订单号后三位就能基本上避免这种情景。
只放用户的前N条订单即可,因为很少有用户会查看很久以前的订单,这样做会节省很多空间。如果有用户需要查看前N条之后的订单,再从数据库中查询即可,当然这种概率就比较小了。
以上就是redis在项目中怎么用的详细内容,转载自php中文网
发表评论 取消回复