我打算在我的预订引擎中使用StackExchange.Redis c#wrapper。 但我担心会在同一日期范围内登记的预订。
如何确保不能创建重叠订单?
答案 0 :(得分:0)
您必须为数据使用唯一键。 2个主要解决方案:
解决方案1:在REDIS中存储唯一大小 跟踪预订号码
add +1
使用预订:大小如此关键
预定:为了-1
预订:订单-2
预订:order-3
解决方案2:在您的计划中生成一个唯一的密钥 1.在您的代码中生成一个唯一的密钥(使用安全的UUID生成器是最佳做法) 2.像这样使用它
预定:订单123GSDDG34TERG34T34EG45G5F54Y456H56HH57J45VF43
预定:订单12234535646323535756854778566746756HH57J45VF43
预定:订单7777777777777777777743ERGSDFG4556H6776H76H7H7H
<强>对战吗 我真的更喜欢Solution2,因为这是获得唯一密钥而不需要服务器的最佳方式。这是一种常见的休息练习。还允许在redis服务器的分片上拆分密钥....等等。