什么数据类型的Facebook用来存储用户标识,应该是什么这样的现场性能和可扩展性的角度最能数据类型。
如果一个方法使用int 4个字节的话,我想这还不够大,如果8个字节的整数,那么如何将随机数分配给每个用户或相同的字符串。
那么,什么是给用户固定长度的随机ID,保持可扩展性和性能考虑的最佳方式是什么?
什么数据类型的Facebook用来存储用户标识,应该是什么这样的现场性能和可扩展性的角度最能数据类型。
如果一个方法使用int 4个字节的话,我想这还不够大,如果8个字节的整数,那么如何将随机数分配给每个用户或相同的字符串。
那么,什么是给用户固定长度的随机ID,保持可扩展性和性能考虑的最佳方式是什么?
好问题。 Facebook的ID可以导致问题,以及分享Tweet标识。 两者都超出了32位整数的范围。 根据编程语言的细节和目的(如数据库,代码等),你可能想使用float或double但在我的经验,他们铸造的字符串是令人满意的。
在MySQL,作为标记,只要是BIGINT数据类型,它大到足以这些ID存储为数字。 当你读这些值,并在程序代码中处理这些棘手的部分是。 那些不是由系统架构/编程语言允许将导致错误或由此截断导致不一致的最大值。
如果你想在MySQL中使用固定长度大的ID,一个好的做法是使用CHAR类型和HEX格式如或者你可以使用UUID格式。
使用BIGINT(64)存储的Facebook用户ID在MySQL数据库表。
在这里你去: https://developers.facebook.com/blog/post/45/