作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我计划为我的预订引擎使用 StackExchange.Redis c# 包装器。但我担心会在同一日期范围内登记的预订。
如何确保不会创建重叠订单?
最佳答案
您必须为您的数据使用唯一的 key 。2个主要解决方案:
解决方案 1:在 REDIS 中存储唯一大小跟踪预订号
bookings:size
添加 +1
。像这样使用 booking:size 作为键
预订:订单-1
预订:订单 2
bookings:order-3
解决方案 2:在您的程序中生成一个唯一的 key 1. 在您的代码中生成一个唯一的 key (最好使用安全的 UUID 生成器)2. 像这样使用它
预订:order-123GSDDG34TERG34T34EG45G5F54Y456H56HH57J45VF43
预订:order-12234535646323535756854778566746756HH57J45VF43
预订:order-777777777777777777743ERGSDFG4556H6776H76H7H7H
对抗?我真的更喜欢 Solution2,因为这是无需请求服务器即可拥有唯一 key 的最佳方式。这是一种常见的 Rest 做法。还允许在 redis 服务器的碎片上拆分 key ......等等。
关于redis - 预订引擎 |雷迪斯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306434/
我是一名优秀的程序员,十分优秀!