python 이 LMDB 파일 을 읽 고 쓰 는 방법

3065 단어 pythonLMDB
LMDB 의 전 칭 은 Lightning Memory-Mapped Database(번개 처럼 빠 른 메모리 맵 데이터베이스)로 파일 구조 가 간단 하고 데이터 파일 과 잠 금 파일 을 포함 합 니 다.

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() 
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기