700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 处理类似于12306订单30分钟自动取消?

处理类似于12306订单30分钟自动取消?

时间:2024-03-23 02:36:12

相关推荐

处理类似于12306订单30分钟自动取消?

我们的QQ群606700249有人提到 如下问题 处理类似于12306订单30分钟自动取消?

做个redis hash结构的(用户id,订单号id,value是个对象obj),对象包含订单的信息,这个对象加一个失效日期字段,每次查询的时候发现这条记录失效了,插入msyql中,redis里面删掉这个记录 (或者不删除,修改obj订单状态的字段)

这样就不需要定时检索轮询,redis自身缓存失效机制两种,一种是定时检索失效,另一种就是查询时候失效剔除

--------------

根据你们的需求调整上面只是一个思路,比如redis是否要删除数据,你们是否准备全部从redis查还是从mysql查(redis和mysql同步)

另外如果压力不大你们可以都存到mysql里面加一个时间失效字段,查询的时候判断是否失效,修改订单状态,这样也不需要定时轮询做失效.

0613 更新本文 除了上面的方案

可以考虑使用延时队列 了解一下 延时队列 有惊喜

参考

延时处理 延时队列 (线程池) (100ms,1s,5s 越来越大,因为对方服务可能出问题了)

可以参考:

java延迟队列

/superdog007/article/details/53944884

延迟队列DelayQueue

/tietazhan/p/6632468.html

分布式延迟消息队列讨论

/yx1989/p/7000503.html

基于redis的延迟消息队列设计

/peachyy/p/7398430.html

newScheduledThreadPool延时任务线程池,实现原理

/lisuyibmd/article/details/53085368

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。