1.2.2. 消息通知的方式
如图所示,这是使用消息通知的方式来完成优惠卷的功能,这样实现缺点和定时任务实现的方式有所不同
缺点:实现相对比较复杂
优点:
1.减少了数据库的压力,只需要查询修改单次失效的优惠券
2.修改延迟低,当有优惠卷失效的时候会马上通知服务器,服务端可以马上修改
使用消息通知的方式也有很多种,你可能会考虑使用消息中间件,借助mq的消息通知功能来完成这功能。
但为了完成修改一次数据库表的功能就使用消息中间件未免太重,其实可以考虑使用redis来实现,借助redis的发布订阅模式来实现这功能
1.3. Redis中的订阅与发布
完成这功能首先得了解Redis的订阅与发布模式
Redis发布订阅(pub/sub)是一种典型的基于消息通信的模式,发布者(pub)负责发送消息,而接收者(sub)负责接收消息,redis客户端可以订阅任意数量的消息主题,如下图所示。
在Redis中,通过两个命令来实现pub/sub