파이썬 방법은 읽기와 쓰기는 LMDB을 파일

원본 : HTTPS : //www.jb51.net/article/142985.htm

LMDB는 데이터 파일이 파일 잠금을 포함 번개 메모리 매핑 된 데이터베이스 (번개 빠른 메모리 맵 데이터베이스), 간단한 구조 파일을 의미합니다 :

LMDB 파일을 고속 데이터 액세스, 여러 프로세스가 동시에 열 수, 액세스가 간단하고, 코드에서 참조 파일의 경로를 액세스하려면 LMDB 라이브러리에서 데이터에 액세스 할만큼, 별도의 데이터베이스 관리 프로세스를 실행할 필요가 없습니다.

시스템이 작은 다수의 파일이 비싸다 액세스하도록 허용하지만 LMDB 너무 오버 어드레싱 매우 작은 것을 사용하여 포인터 연산을 달성 할 수있는 파일 내의 파일에 액세스 메모리 매핑을 사용. 단일 데이터베이스 파일 데이터 수집 / 전송 프로세스를 복사하는 오버 헤드를 줄일 수 있습니다.

Lmdb는 파이썬에서 사용 : 리눅스는 명령 lmdb 설치 패키지 '핍 lmdb 설치'를 사용합니다.

빈 데이터베이스 파일 lmdb 만들기 (1)

. 1  # - * - 코딩 :. UTF-8 - * - 
2  가져 오기 lmdb 
 . 3    
. 4  # 폴더 data.mbd 기차 또는 lock.mdb 파일이없는 경우는, 빈이있는 경우 덮어 쓰지 않습니다 생성됩니다 
. 5  # map_size 최대 저장 용량을 정의 KB 단위는 다음의 정의 1TB 용량이다 
. 6 ENV = lmdb.open ( " ./train " , map_size = 1,099,511,627,776 ) 
 . 7 ) (env.close

 

 2. LMDB 데이터는 삭제, 수정, 추가

. 1  # - * - 코딩 :. UTF-8 - * - 
2  오기 lmdb 
 . 3    
. 4  # map_size 최대 저장 용량 정의에서, 유닛 KB, 다음의 정의이다 1TB 용량 
. 5 ENV = lmdb.open ( " ./train " , map_size = 1,099,511,627,776 ) 
 . 6    
. 7 TXN = env.begin (쓰기 = 참) 
 . 8    
. 9 개  # 추가 데이터 및 키 
10 txn.put (키 = ' . 1 " , 값 = ' AAA ' ) 
 . 11 txn.put (키 = ' 2 ' , 값 =을 ' BBB ' ) 
 (12)는txn.put (키 = ' . 3 ' , 값 = ' CCC ' ) 
 (13)는    
14  # 데이터 삭제 키 
(15) txn.delete (키 = ' . 1 ' ) 
 16    
. 17 개  # 수정 된 데이터 
(18)가 = txn.put (키 ' . 3 ' , 값 = ' ddd를 ' ) 
 . (19)    
(20)는  # () 함수는 미트에 의해 송신 된 변경 동안에 
21은  txn.commit () 
 (22)는 env.close ()

 

3. 쿼리 데이터베이스 콘텐츠 lmdb

. 1  # - * - 코딩 :. UTF-8 - * - 
2  오기 lmdb 
 3.    
4. ENV = lmdb.open ( " ./train " ) 
 5.    
6.  # True로 파라미터 세트가 기록을 작성할 수있다 
(7). TXN = env.begin (쓰기 = 참) 
 8  # ########################################### 첨가 , 삭제 된 데이터를 수정할 
. 9 개    
10  # 추가 데이터 및 키 
. 11 txn.put (키 = ' . 1 " , 값 = ' AAA ' ) 
 (12)는 txn.put (키 = ' 2 ' , 값 = ' BBB' ) 
 (13)은 = txn.put (키 ' . 3 ' , 값 = ' CCC ' ) 
 14    
15  # 키 데이터를 삭제함으로써 
16 txn.delete (키 = ' . 1 ' ) 
 . (17)    
(18)는  #은 데이터를 수정 
. 19 txn.put (키 = ' . 3 ' = 값 ' ddd를 ' ) 
 (20)는    
21이다  # 기능에 의해 송신 된 변경 동안에 커 () 
(22)는  txn.commit () 
 (23)는  # ###################### ##################### 데이터 쿼리 lmdb 
24 TXN =env.begin () 
 (25 개)    
(26)  # 키를 기준으로 데이터를 조회하는 GET 기능 
(27)  인쇄 txn.get을 (STR (2 )) 
 (28)    
(29)  # 모든 데이터 및 키를 통해 커서 () 루프로 
(30)  에 대한 키, 값 txn.cursor () : 
 (31)는    인쇄 (키, 값) 
 (32)      
(33)는  # 1 ####################################### #### 
(34)은    
(35) ) (env.close

 

기존 .mdb 파일 4. 읽기 내용

. 1  # - * - 코딩 :. UTF-8 - * - 
2  오기 lmdb 
 3.    
4. env_db = lmdb.Environment ( ' trainC ' ) 
 5.  # env_db = lmdb.open ( "./ trainC") 
6.    
7. TXN = env_db.begin ( ) 
 . 8    
. 9  # 키 데이터 쿼리 조회 키 데이터 출력 중에 일치하지 않는 경우, 통과 함수 
(10)  인쇄 txn.get (STR (200이다 )) 
 . (11)    
(12)은  위해 중요한 가치  txn.cursor () : # 트래버스 
(13)는    인쇄 (키, 값) 
 (14)    
(15) env_db.close ()

 

추천

출처www.cnblogs.com/KAKAFEIcoffee/p/11958959.html