随笔分类 - 黑马点评
摘要:实现消费券秒杀的优化,在加入限时抢购的优惠券时,自动的将消费券的库存stock信息也加入到redis中(可设为抢购结束后过期) 抢购之前在redis中进行库存是否充足(stock)、用户是否已经抢购(set)的判断 如果条件都满足,则将订单信息加入到消息队列中 另开启一个线程将消息队列中订单信息异步
阅读全文
摘要:用户签到 在Redis中使用位图(BitMap)来存储签到信息,可以大大减小开销。同时在设计redis数据结构时,在key中加上时间、用户id等信息,可以统计该用户在某个时间段内的签到情况。(bitmap最大有2^32位bit位) ==具体的数据结构设计为==: {"sign:userId:yyyy
阅读全文
摘要:好友动态推送 基于推模式实现探店笔记,一个人发布blog,在将blog保存到数据库的同时将blog发送到每个粉丝的收信箱中;收信箱按时间戳进行排序(类似于朋友圈);收信箱查询数据时按滚动分页进行查询。 ==滚动分页== 在进行分页查询时,如果关注的人有新的动态,则不予查询,接着按照上一页的分页查询(
阅读全文
摘要:点赞功能 业务说明 1、每个用户只能点一次赞,再次点击时取消点赞 2、在Blog属性中增加isLike字段,用于判断当前用户是否点赞 3、isLike的值从Redis中获取,可以用redis自带的持久化机制,也可以在数据库中设计表,定时持久化到数据库 4、点赞功能使用的是redis的set数据结构,
阅读全文
摘要:全局唯一Id生成器 为实现唯一性、递增性、安全性、高可用、高性能,能支持未来大量订单业务的订单id的快速生成,给出一种id生成的方法。 代码实现 package com.hmdp.utils; import org.springframework.data.redis.core.StringRedi
阅读全文
摘要:添加缓存业务流程及代码实现 业务流程 说明: 1、先从redis中进行查询,redis中如果有对应的数据则直接返回;如果没有再进入数据库查询 2、从数据库查询到的数据判断是否为空,非空写入redis再返回 代码实现 ShopServiceImpl.getByIdWithCache() private
阅读全文
摘要:短信登录业务 短信登录的业务流程 基于session实现短信登录的业务流程 流程说明: ==发送短信==:从前端获取到手机号,校验手机号,生成验证码,将验证码保存到session ,并将验证码发送至手机 ==短信验证码登录、注册==:从前端获取手机号和验证码,将获取的验证码与session中的验证码
阅读全文