我正在开发一个即时消息应用程序,该应用程序在数据库中记录每条消息,其中包含消息ID,消息内容和排序时间戳的列。
我一直在插入数据库之前使用PHP的time()函数添加时间戳,但是我发现这可能会导致问题。如果用户快速提交两条或更多条消息,则服务器可能无序处理它们并在数据库中混淆它们。
我正在考虑使用javascript的Date.getTime()方法。这样,时间戳记录了用户提交消息的时间,而不是完成处理的时间(希望这两个数字不是 不同)。
这引出了几个问题:
我确信这是一个一直处理的问题。有什么样的解决方案?
答案 0 :(得分:5)
计算机时间没有很好地同步 - 你的应用程序绝对不应该依赖于此。
我心中的合理解决方案:
另请注意,客户端时间戳可以在任何时区(并且用户可以更改其时区),因此客户端时间实际上仅用于与来自同一客户端的其他时间戳进行比较。