9

Has LevelDB keys a limit for the key length?

I want to save data with url's as key. so this urls can be very very long i.g. http://veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryloooooooooooooooong-url.com

4

2 回答 2

10

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

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

作为测试,我插入了一些带有一百万个字符长的键的文档。它工作得很好。

于 2013-07-08T01:56:25.150 回答
1

密钥长度没有理论上的限制,但是对于长密钥和短记录,数据库可能效率不高。在 SST 文件的顶部有一个索引,其中包含文件中的键和偏移量,并且这些索引块中的键被二进制切碎以定位行。

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

于 2013-12-08T22:37:40.510 回答