题
我需要创建对象,使他们在网络上可用。类似于计算器,我有类似。
http://stackoverflow.com/users/78374
不过,在我来说,我创建的对象的ID必须是唯一的,所以我想一个UUID,导致URL像
http://example.com/users/{8e931066-7d87-4f2b-a3b5-608c4c9a9083}
由于稍后我会到不同的数据库合并到一起,我不希望有合并的问题。
这是一个公认的实践?有什么选择?
解决方案
如果它只是一个合并数据库的问题,给每个DB一个唯一的标识符,然后结合,与自动递增的PK将给予唯一的ID为每一个对象,你可以使用,而不必担心合并的问题。
其他提示
有处于没有问题。 Hotmail的做到这一点。
如果合并必须是100%无缝,然后一个UUID可能是你最好的选择。如果你正在寻找产生更人性化的URL,你可以考虑使用一个独特的“帐户名称”,用户可以定义。这将潜在地产生冲突,如果合并数据库,但它们可以被克服。
我同意,这是一个可接受的实践,因为它使用它时在多个数据库和应用程序保持的用户ID是唯一的。
我使用相同的做法在我的缓存应用程序块。高速缓存应用程序块生成当一个项目被缓存在GUID和应用程序使用GUID来从高速缓存中检索该项目。
不隶属于 StackOverflow