2012-11-16 4 views
11

그런 인터페이스가없는 것 같습니다.leveldb에서 정확한 키 수를 얻는 방법은 빠릅니까?

계산을 위해 모든 키를 반복해야합니까?

디자인의 목적은 무엇입니까? 또는이 기능 구현의 한계는 무엇입니까?

+0

그렇습니다. 레코드를 삽입/제거 할 때 자신의 레코드 계산을 구현하지 않는 한 모든 키를 반복해야합니다 (상당히 쉽습니다). – Kiril

답변

9

"외부보다 leveldb 내부에서 Count를 더 효율적으로 구현할 방법이 없습니다." 전체 데이터 세트을 반복 또는에서 응용 프로그램 에 쓰기 카운터 자신을 구현하기위한 하나 제외하고, 그것을 할 수있는 더 좋은 방법이없는 것처럼 상태가 offical 한 issue 113

보인다.

1

아마 LevelDB가 구축되었을 때이 API는 원래 작성자에게는 필요하지 않았습니다. 슬프게도 LevelDB에는 카운팅을 기록하는 데 사용할 수있는 증가 API가 없습니다. 지금 당장 할 수있는 일은 Leveldb에있는 키를 읽고 쓰는 것입니다.하지만 이것은 쓰레드에 안전하지 않습니다.

사용 사례에 더 적합한 경우 Redis를 살펴볼 수 있습니다.

관련 문제