目前我测试了一些数据库系统(NoSql),现在我用 Cassandra 测试了一些东西。没有像 MySQL 中那样自动增加用户 ID 的选项。现在的问题是,我如何在整个集群中生成 UUID?Facebook 在历史上也使用过 Cassandra,它们也生成了一个用户 ID(https://developers.facebook.com/tools/explorer/?method=GET&path=me)。他们是怎么做到的?
问问题
202 次
2 回答
3
您应该使用其中一种 UUID 类型 - UUIDType 或 TimeUUIDType。如果您希望能够按时间排序您的 ID,请使用 TimeUUIDType。如果您想先获取最新的,而不是最旧的,请将其包装在 ReversedType 中。
于 2013-04-01T16:28:55.113 回答
1
唯一 id 只是计算机 mac(或者您可以使用主机名)加上该机器上唯一 id 的组合(在服务器重新启动时)。cassandra 的 PlayOrm 实际上使用 system.currenttimemillions 生成短 id,但在必要时添加了使其唯一的内容。TimeUUID 类型是 mac + time(加上一些 time 以使其在机器中唯一)。
院长
于 2013-04-03T12:20:49.333 回答