Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何生成独特的id,如facebook、google+;在NodeJS中_Javascript_Node.js_Cassandra_Uuid - Fatal编程技术网

Javascript 如何生成独特的id,如facebook、google+;在NodeJS中

Javascript 如何生成独特的id,如facebook、google+;在NodeJS中,javascript,node.js,cassandra,uuid,Javascript,Node.js,Cassandra,Uuid,我用的是nodeJS和cassandra 我目前正在使用UUIDV1作为唯一id 但是,我认为uuid太长了 我想生成数字的唯一id,比如fb和G+,它比较短 在插入之前,不必检查DB中是否存在id 例如: facebook/100001458264256 我在考虑根据一些用户细节生成它 有什么好主意吗?如果您正在使用UUID类型创建Column系列,它们将以二进制格式存储,并且只需要磁盘上的16个字节,这已经少于您想要的20个字节 你看, 您可以使用数据库,也可以生成唯一的8字节ID。您可以

我用的是nodeJS和cassandra

我目前正在使用UUIDV1作为唯一id

但是,我认为uuid太长了

我想生成数字的唯一id,比如fb和G+,它比较短

在插入之前,不必检查DB中是否存在id

例如:

facebook/100001458264256

我在考虑根据一些用户细节生成它


有什么好主意吗?

如果您正在使用UUID类型创建Column系列,它们将以二进制格式存储,并且只需要磁盘上的16个字节,这已经少于您想要的20个字节

你看,

您可以使用数据库,也可以生成唯一的8字节ID。

您可以尝试使用package获取较短的唯一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

您的用户详细信息是什么?定义“太长”。有一些很短的散列函数可以帮您完成任务。@Deestan请求中可能有一些数据?并将它们解析为base10@KingCronus我想要一些数字id,大约20个字符长,但UUID有32个字符长
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