Leveldb 学习笔记

7/5/2025 leveldb

# Leveldb 学习笔记

leveldb是一个写性能十分优秀的存储引擎,是典型的LSM树(Log Structured-Merge Tree)实现。LSM树的核心思想就是放弃部分读的性能,换取最大的写入能力

基本概念 — leveldb-handbook 文档 (opens new window)

# Demo

const level = require('level');
const dbPath = './mydb';

// Initialize database correctly
const db = new level.Level(dbPath);

// Using promise-based API (recommended)
async function main() {
  try {

    // await db.put('key1', 'value1');
    // await db.put('key2', 'value2');
    // console.log('Key1 stored successfully.');
    
    const res = await db.get('key1');
    console.log('Key1 retrieved successfully:', res);

    const res2 = await db.get('key2');
    console.log('Key2 retrieved successfully:', res2);

    // Read stream
    for await (const [key, value] of db.iterator()) {
      console.log(`Key: ${key}, Value: ${value}`);
    }

    console.log('Finished reading all entries.');
  } catch (err) {
    console.error('Error:', err);
  } finally {
    await db.close();
  }
}

main();