python 이 LMDB 파일 을 읽 고 쓰 는 방법
LMDB 파일 은 여러 프로 세 스에 서 동시에 열 수 있 으 며,매우 높 은 데이터 액세스 속 도 를 가지 고 있 으 며,접근 이 간단 해 별도의 데이터베이스 관리 프로 세 스 를 실행 할 필요 가 없 으 며,데이터 에 접근 하 는 코드 에 LMDB 라 이브 러 리 를 인용 해 접근 할 때 파일 경 로 를 주면 된다.
시스템 으로 하여 금 대량의 작은 파일 에 접근 하 게 하 는 비용 이 매우 많 고,LMDB 는 메모리 맵 방식 으로 파일 에 접근 하 게 하여 파일 내 주소 지정 비용 이 매우 적 게 들 게 하여 포인터 연산 을 사용 하면 실현 할 수 있다.데이터베이스 단일 파일 은 데이터 세트 복사/전송 과정의 비용 도 줄 일 수 있다.
python 에서 lmdb:linux 를 사용 하면 명령 어'pip install lmdb'를 사용 하여 lmdb 패 키 지 를 설치 할 수 있 습 니 다.
1.빈 lmdb 데이터베이스 파일 생 성
# -*- coding: utf-8 -*-
import lmdb
# train data.mbd lock.mdb , , ,
# map_size , kb, 1TB
env = lmdb.open("./train",map_size=1099511627776)
env.close()
2.LMDB 데이터 의 추가,수정,삭제
# -*- coding: utf-8 -*-
import lmdb
# map_size , kb, 1TB
env = lmdb.open("./train", map_size=1099511627776)
txn = env.begin(write=True)
#
txn.put(key = '1', value = 'aaa')
txn.put(key = '2', value = 'bbb')
txn.put(key = '3', value = 'ccc')
#
txn.delete(key = '1')
#
txn.put(key = '3', value = 'ddd')
# commit()
txn.commit()
env.close()
3.lmdb 데이터베이스 내용 조회
# -*- coding: utf-8 -*-
import lmdb
env = lmdb.open("./train")
# write True
txn = env.begin(write=True)
############################################ 、 、
#
txn.put(key = '1', value = 'aaa')
txn.put(key = '2', value = 'bbb')
txn.put(key = '3', value = 'ccc')
#
txn.delete(key = '1')
#
txn.put(key = '3', value = 'ddd')
# commit()
txn.commit()
############################################ lmdb
txn = env.begin()
# get
print txn.get(str(2))
# cursor()
for key, value in txn.cursor():
print (key, value)
############################################
env.close()
4.기 존.mdb 파일 내용 읽 기
# -*- coding: utf-8 -*-
import lmdb
env_db = lmdb.Environment('trainC')
# env_db = lmdb.open("./trainC")
txn = env_db.begin()
# get , , None
print txn.get(str(200))
for key, value in txn.cursor(): #
print (key, value)
env_db.close()
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.