CNode

node写的订单

问答
Yyanghanyu198发布于9 年前最后回复9 年前8 回复5326 浏览0 收藏

最近写项目 有个需求是当客户下订单如果2分钟没有支付 订单失效。那我怎么知道这个订单在两分钟失效呢!我现在是不断跑脚本去查看有没有失效的订单。

查看回复

回复 (8)

L
Lizhooh#1·9 年前

简单点:setTimeout + events

复杂点:redis keyspace notification(键空间通知) + subscribe (对某个 key 设置失效时间,在过期时发出通知)

From PWA CNode

Y
yanghanyu198#2·9 年前

简单点那个 不太好 不适合大量的订单。键空间通知 对于现在redis 来说 不算太稳定 有时可能失效 接受不到通知

M
m470075640#3·9 年前

记录时间节点 标记状态就行 然后如果需要标记失效也可以做个批处理标记

I
im-here#4·9 年前

创建订单的时候 标记一个创建时间。 后面在别的业务中用到这个订单的时候 用创建时间+有效时间 就是订单的过期时间,这时候检查一下是否过期就行了。 或者直接把订单存到redis里,给一个expire

M
MiYogurt#5·9 年前

队列

T
think2011#6·9 年前

访问的时候,再确定状态

N
NanShanJi#7·9 年前

疯狂打call

L
Lizhooh#8·9 年前

如果,在失效的时候不用通知用户。四楼正解。

在下次用户查询订单时,再计算是否过期。

From PWA CNode

参与回复
登录后即可参与回复。登录