객체 내장 객체

객체레벨DB

evelDB는 fibjs에 내장된 데이터베이스 연산 객체로, 키-값 쌍의 형태로 사전 객체를 생성하고 관리하는 데 사용됩니다. LevelDB 객체를 사용하면 키-값 쌍 데이터 저장, 쿼리, 삭제, 열거 및 기타 작업을 쉽게 구현할 수 있습니다. 구글의 오픈소스 LevelDB를 기반으로 구현되었으며 효율성, 신뢰성, 확장성의 장점을 가지고 있습니다.

LevelDB 객체를 생성하는 것은 매우 간단합니다.db.openLevelDB메소드는 지정된 이름을 가진 데이터베이스 객체를 생성합니다. 예를 들어:

1 2
var db = require("db"); var test = db.openLevelDB("test.db");

안에,db는 fibjs의 데이터베이스 작업 개체이고, openLevelDB 메서드는 leveldb 데이터베이스를 여는 데 사용되며, test.db는 데이터베이스 이름이며 함수는 반환됩니다.test객체는 데이터베이스를 운영하는 객체입니다.

LevelDB 객체가 지원하는 주요 작업은 다음과 같습니다.

  • set(key, value): 키 값 데이터를 설정하고, 키 값이 없으면 새로운 데이터를 삽입합니다.
  • get(key): 지정된 키 값의 값을 쿼리합니다.
  • has(key): 지정된 키 값이 존재하는지 확인합니다.
  • 제거(키): 지정된 키 값의 모든 값을 삭제합니다.
  • forEach(func): 데이터베이스의 모든 키-값 쌍을 열거합니다.
  • between(from, to, func): from과 to 사이의 키 값을 갖는 데이터베이스의 키-값 쌍을 열거합니다.
  • toJSON(key): 객체의 JSON 형식 표현을 반환하며, 일반적으로 객체에 의해 정의된 읽기 가능한 속성 세트를 반환합니다.
  • start(): 현재 데이터베이스에서 트랜잭션을 시작합니다.
  • commit(): 현재 트랜잭션을 제출합니다.
  • close(): 현재 데이터베이스 연결이나 트랜잭션을 닫습니다.

예를 들어:

1 2 3 4 5 6 7 8 9 10 11 12 13
var db = require("db"); var test = db.openLevelDB("test.db"); test.set("test_key", "test_value"); var value = test.get("test_key"); console.log("test_key:", value.toString()); test.remove("test_key"); console.log("has test_key:", test.has("test_key")); test.close();

위는 키-값 쌍 데이터를 편리하고 유연하게 운용할 수 있는 LevelDB 객체의 기본적인 사용법과 예시이다. 실제 응용 프로그램에서는 저장, 캐싱, 로깅 및 기타 시나리오에서 데이터 읽기 및 쓰기 효율성을 향상시키고 프로그램 논리를 단순화하며 개발 복잡성을 줄이는 등의 작업을 수행할 수 있습니다.

상속관계

멤버 함수

has

지정된 키 값을 가진 데이터가 데이터베이스에 존재하는지 확인

1
Boolean LevelDB.has(Buffer key) async;

호출 매개변수:

  • key:Buffer, 확인할 키 값을 지정합니다.

결과 반환:

  • Boolean, 키 값이 존재하는지 여부를 반환합니다.

get

지정된 키 값의 값을 쿼리합니다.

1
Buffer LevelDB.get(Buffer key) async;

호출 매개변수:

  • key:Buffer, 쿼리할 키 값을 지정합니다.

결과 반환:

  • Buffer, 키 값에 해당하는 값을 반환하고, 존재하지 않으면 null을 반환합니다.

mget

지정된 키 값 집합의 값 쿼리

1
NArray LevelDB.mget(Array keys);

호출 매개변수:

  • keys: 배열, 쿼리할 키 값 배열을 지정합니다.

결과 반환:

  • NArray, 키 값을 포함하는 배열을 반환합니다.

set

키 값 데이터를 설정하고, 해당 키 값이 없으면 새로운 데이터를 삽입하세요.

1 2
LevelDB.set(Buffer key, Buffer value) async;

호출 매개변수:

  • key:Buffer, 설정할 키 값을 지정합니다.
  • value:Buffer, 설정할 데이터를 지정합니다

mset

키 값 데이터 세트를 설정하고 키 값이 없으면 새 데이터를 삽입합니다.

1
LevelDB.mset(Object map);

호출 매개변수:

  • map: 객체, 설정할 키-값 데이터 사전을 지정합니다.

mremove

지정된 키에 대한 값 세트 삭제

1
LevelDB.mremove(Array keys);

호출 매개변수:

  • keys: 배열, 삭제할 키값 배열을 지정합니다.

remove

지정된 키의 모든 값 삭제

1
LevelDB.remove(Buffer key) async;

호출 매개변수:

  • key:Buffer, 삭제할 키 값을 지정합니다.

firstKey

가장 작은 키 쿼리

1
Buffer LevelDB.firstKey() async;

결과 반환:

  • Buffer, 가장 작은 키를 반환합니다.

lastKey

가장 큰 키 쿼리

1
Buffer LevelDB.lastKey() async;

결과 반환:

  • Buffer, 가장 큰 키를 반환합니다.

forEach

데이터베이스의 모든 키-값 쌍을 열거합니다.

1
LevelDB.forEach(Function func);

호출 매개변수:

  • func: 함수, 열거형 콜백 함수

콜백 함수에는 두 개의 매개변수(값, 키)가 있습니다.

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach(function(value, key) { ... });

데이터베이스의 모든 키-값 쌍을 열거합니다.

1 2
LevelDB.forEach(Buffer from, Function func);

호출 매개변수:

  • from:Buffer, 열거의 최소 키 값, 이 키 값은 열거 중에 포함됩니다.
  • func: 함수, 열거형 콜백 함수

콜백 함수에는 두 개의 매개변수(값, 키)가 있습니다.

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

데이터베이스의 모든 키-값 쌍을 열거합니다.

1 2 3
LevelDB.forEach(Buffer from, Buffer to, Function func);

호출 매개변수:

  • from:Buffer, 열거의 최소 키 값, 이 키 값은 열거 중에 포함됩니다.
  • to:Buffer, 열거형의 최대 키 값, 이 키 값은 열거형에 포함되지 않습니다.
  • func: 함수, 열거형 콜백 함수

콜백 함수에는 두 개의 매개변수(값, 키)가 있습니다.

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

데이터베이스의 모든 키-값 쌍을 열거합니다.

1 2
LevelDB.forEach(Object opt, Function func);

호출 매개변수:

  • opt: 객체, 열거 옵션, 건너뛰기, 제한, 역방향 지원
  • func: 함수, 열거형 콜백 함수

콜백 함수에는 두 개의 매개변수(값, 키)가 있습니다.

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach(function(value, key) { ... });

데이터베이스의 모든 키-값 쌍을 열거합니다.

1 2 3
LevelDB.forEach(Buffer from, Object opt, Function func);

호출 매개변수:

  • from:Buffer, 열거의 최소 키 값, 이 키 값은 열거 중에 포함됩니다.
  • opt: 객체, 열거 옵션, 건너뛰기, 제한, 역방향 지원
  • func: 함수, 열거형 콜백 함수

콜백 함수에는 두 개의 매개변수(값, 키)가 있습니다.

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

데이터베이스의 모든 키-값 쌍을 열거합니다.

1 2 3 4
LevelDB.forEach(Buffer from, Buffer to, Object opt, Function func);

호출 매개변수:

  • from:Buffer, 열거의 최소 키 값, 이 키 값은 열거 중에 포함됩니다.
  • to:Buffer, 열거형의 최대 키 값, 이 키 값은 열거형에 포함되지 않습니다.
  • opt: 객체, 열거 옵션, 건너뛰기, 제한, 역방향 지원
  • func: 함수, 열거형 콜백 함수

콜백 함수에는 두 개의 매개변수(값, 키)가 있습니다.

1 2 3 4 5 6
var db = require("db"); var test = new db.openLevelDB("test.db"); test.forEach("aaa", "bbb", function(value, key) { ... });

begin

현재 데이터베이스에서 트랜잭션 시작

1
LevelDB LevelDB.begin();

결과 반환:

  • LevelDB, 열린 트랜잭션 객체를 반환합니다.

commit

현재 거래 제출

1
LevelDB.commit();

close

현재 데이터베이스 연결 또는 트랜잭션을 닫습니다.

1
LevelDB.close() async;

toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String LevelDB.toString();

결과 반환:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

1
Value LevelDB.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용되지 않음

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.