2013-06-17 35 views

Odpowiedz

7

Nie ma ograniczenia długości klucza w LevelDB. Klucze są arbitralnymi tablicami bajtów dowolnej długości. Możesz użyć długiego adresu URL podanego w pytaniu.

Są tu wspomnieć, że klucze są tablicami bajtów ... https://code.google.com/p/leveldb/

Jako test, wprowadziłem kilka dokumentów kluczy, które były długo milion znaków. Wszystko działało dobrze.

+0

Nie daje to odpowiedzi na pytanie. Aby skrytykować lub poprosić o wyjaśnienie od autora, pozostaw komentarz pod swoim postem. – johnvey

+3

Ja wyjaśnię moją odpowiedź. ODPOWIADA, że klucze są bardzo długie. –

+0

@BrandonJoyce Czy możesz podać swoją odpowiedź, proszę? Chciałbym przeczytać więcej. –

0

Nie ma teoretycznego ograniczenia długości klucza, ale DB może nie być zbyt efektywny przy długich klawiszach i krótkich zapisach. Na górze plików SST znajduje się indeks zawierający klucze i przesunięcia w pliku, a klucze w tych blokach indeksu są binarnie przycinane w celu zlokalizowania wierszy.

Po prostu myśl - możesz chcieć zrobić sanację na URL-ach, zanim użyjesz ich jako surowych klawiszy. np. kanonizacja nazwy domeny i przypadku protokołu, kanoniczna kolejność zapytań, itp.