月度归档:2022年11月

接口幂等性

幂等:f(x)=f(f(x))

方案1:select + insert/update 唯一索引

方案2:直接insert 唯一索引冲突后update

方案3:状态机,例如:status 1已处理 0 未处理

方案4:放重复表

方案4:token命令 成功后删除token

方案6:悲观锁(如select … for update) 还是判断status字段值,有性能问题

方案7:乐观锁,不会上锁

方案8:分布式锁 可以使用redis set ex nx