LevelDB是密钥的最大长度限制吗?

时间:2013-06-17 08:47:51

标签: nosql leveldb

LevelDB是否限制密钥长度?

我想用url作为密钥来保存数据。所以这个网址可能非常长 胃内http://veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryloooooooooooooooong-url.com

2 个答案:

答案 0 :(得分:7)

LevelDB中没有密钥长度限制。键是任意长度的任意字节数组。您可以使用您在问题中提供的长网址。

他们在这里提到密钥是字节数组...... https://code.google.com/p/leveldb/

作为测试,我插入了一些文件,其中包含长达一百万个字符的密钥。它运作得很好。

答案 1 :(得分:0)

密钥长度没有理论上的限制,但对于长密钥和短记录,DB可能效率不高。 SST文件顶部有一个索引,它包含文件中的键和偏移量,这些索引块中的键被二进制切割以查找行。

只是想一想 - 在将URL用作原始密钥之前,您可能希望对URL进行一些清理。例如,规范化协议的域名和案例,规范化查询参数的顺序等。