LevelDB是否限制密钥长度?
我想用url作为密钥来保存数据。所以这个网址可能非常长 胃内http://veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryloooooooooooooooong-url.com
答案 0 :(得分:7)
LevelDB中没有密钥长度限制。键是任意长度的任意字节数组。您可以使用您在问题中提供的长网址。
他们在这里提到密钥是字节数组...... https://code.google.com/p/leveldb/
作为测试,我插入了一些文件,其中包含长达一百万个字符的密钥。它运作得很好。
答案 1 :(得分:0)
密钥长度没有理论上的限制,但对于长密钥和短记录,DB可能效率不高。 SST文件顶部有一个索引,它包含文件中的键和偏移量,这些索引块中的键被二进制切割以查找行。
只是想一想 - 在将URL用作原始密钥之前,您可能希望对URL进行一些清理。例如,规范化协议的域名和案例,规范化查询参数的顺序等。