我需要创建对象并在Web上提供它们。与stackoverflow类似,我有类似的东西。
http://stackoverflow.com/users/78374
但是,在我的情况下,我创建的对象的ID必须是唯一的,所以我在想一个UUID,导致像
这样的URLhttp://example.com/users/{8e931066-7d87-4f2b-a3b5-608c4c9a9083}
因为稍后我将不得不将不同的数据库合并在一起,我不想让合并问题。
这是一种公认的做法吗?有哪些替代方案?
答案 0 :(得分:6)
如果只是合并数据库的问题,给每个数据库一个唯一的标识符,然后将其与自动增量PK相结合,将为您可以使用的每个对象提供唯一的ID,而不用担心合并问题。
答案 1 :(得分:1)
没有问题。 Hotmail做到了。
答案 2 :(得分:1)
如果合并必须100%无缝,那么UUID可能是您最好的选择。如果您希望生成更加人性化的URL,您可以考虑使用用户可以定义的唯一“帐户名”。如果合并数据库,这可能会产生冲突,但可以克服它们。
答案 3 :(得分:1)
我同意这是一种可接受的做法,因为它在多个数据库和应用程序上使用时保持用户ID唯一。
我在缓存应用程序块中使用相同的做法。缓存项目时,缓存应用程序块会生成GUID,并且应用程序使用该GUID从缓存中检索项目。