预订引擎| Redis的

时间:2016-03-30 10:41:47

标签: redis stackexchange.redis

我打算在我的预订引擎中使用StackExchange.Redis c#wrapper。 但我担心会在同一日期范围内登记的预订。

如何确保不能创建重叠订单?

1 个答案:

答案 0 :(得分:0)

您必须为数据使用唯一键。 2个主要解决方案:

解决方案1:在REDIS中存储唯一大小 跟踪预订号码

  1. 密钥名称:add +1
  2. 在evey预订时,预订后获取预订:大小,然后{{1}}。
  3. 使用预订:大小如此关键

    预定:为了-1

    预订:订单-2

    预订:order-3

  4. 解决方案2:在您的计划中生成一个唯一的密钥 1.在您的代码中生成一个唯一的密钥(使用安全的UUID生成器是最佳做法) 2.像这样使用它

    预定:订单123GSDDG34TERG34T34EG45G5F54Y456H56HH57J45VF43

    预定:订单12234535646323535756854778566746756HH57J45VF43

    预定:订单7777777777777777777743ERGSDFG4556H6776H76H7H7H

    <强>对战吗 我真的更喜欢Solution2,因为这是获得唯一密钥而不需要服务器的最佳方式。这是一种常见的休息练习。还允许在redis服务器的分片上拆分密钥....等等。