我正在使用nodeJS和cassandra
我目前正在使用UUID v1作为唯一ID
但是,我认为uuid太长了
我想生成数字唯一ID,如fb和G +,它更短
并且在插入
之前不必检查数据库中是否存在id示例:
https://plus.google.com/104560124403688998123/posts
的Facebook / 100001458264256
我想根据一些用户细节生成它吗?
有什么好主意吗?
答案 0 :(得分:1)
如果要创建具有UUID类型的colum系列,它们将以二进制形式存储,并且磁盘上只需要16个字节,这已经少于您想要的20个字节。
查看cql docs,
CREATE COLUMNFAMILY MonkeyTypes (
KEY uuid PRIMARY KEY,
species text,
alias text,
population varint
)
答案 1 :(得分:0)
您可以尝试使用flake-idgen包来获取更短的唯一ID。
var FlakeIdGen = require('flake-idgen')
var intformat = require('biguint-format')
var generator = new FlakeIdGen;
var id1 = generator.next();
var id2 = generator.next();
var id3 = intformat(id1, 'dec'); //sample : 5829986774188818434
var id4 = intformat(id2, 'hex', {prefix:'0x'}) // sample : 0x50e8461520c00003