我有一个简单的WS,就像一个会话服务器,根本不复杂。 当我创建一个会话时,我从Mongo得到一个_id,我无法回复用户mongo使用的序列的原因。
链接创建时的id序列示例:
536004fe2e1d59c95e9155a8
536004fe2e1d59c95e9155a9
536004fe2e1d59c95e9155aa
536004fe2e1d59c95e9155ab
正如你所看到的,可以问一个会议,并试图找出下一个......
我的问题是:您使用什么样的技巧来创建随机但(几乎)唯一ID?
答案 0 :(得分:1)
我使用Redis作为我们网站的会话数据,因为它提供了高读/写性能,并且密钥查找是会话数据唯一需要的。为什么使用MongoDB作为会话存储?
在任何情况下,您都可以assign the _id before saving it到MongoDB,它将使用它而不是自动生成一个。如果将_id设置为UUID(我用于我的密钥)或其他一些随机值,则可以使用它而不会降低性能。
答案 1 :(得分:-1)
我倾向于使用当前时间戳的MD5,它几乎是“独特的”。
您可以生成它并将其发布为mongo文档中的任何其他字段,无需使用_id。
请注意,我从未使用过mongo,我使用CouchBase和视图。