我正在开发一个酒店预订系统(PHP,MySQL),但我无法找到最有效的方法来锁定房间(防止同一房间被预订的次数超过同一日期的分配) 20分钟,如果访客在该时间内没有付款,则将其释放。系统可以变大,所以我想确保它尽可能高效。
任何建议都将不胜感激。
谢谢。
答案 0 :(得分:2)
我会在数据库中使用一个简单的时间戳字段来表示“已锁定”。每当有人试图预订房间时,软件将当前时间与时间戳进行比较,如果是>超过20分钟并且尚未付款,锁定无效。
这种方法可能足够有效。时间戳通常是32位,并且数据库调用的性能受到影响,而且比较可以忽略不计。