比方说我要建在Rails的生成帖子的ID,如Facebook和类似的网站
Facebook的克隆目前我的路线是非常标准的,像
/group/1/post/3
我很想做一些合成的ID使用与Facebook等网站相同的编号方案。似乎有两种类型的路由美学
# Only numbers
/group/10101830214008379/post/159476674458072
# Hash/Hex
/group/da295c4b/post/815fe818
外 -
- 有哪些优点/缺点使用两种方法?
- 是否有一个好的行业标准或最佳实践来为用户,组,帖子等概念生成合成ID。
- Ruby/Rails中生成每个ID的最佳方式是什么?我知道
SecureRandom.hex
,但似乎会产生一个长散列。
谢谢!
我不知道Ruby,但我广泛使用'crc32'散列来为各种对象的唯一ID。转换为十六进制,它提供了一个8字符的散列码,就像上面的十六进制代码一样。它位于Ruby的[zlib模块](http://stackoverflow.com/questions/4273281/how-to-calculate-32-bit-crc-in-ruby-on-rails)中。 –