Skip to content

mj-harvey/matlab-lmdb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matlab LMDB

Matlab LMDB wrapper for UNIX environment.

See also matlab-leveldb.

Those using Caffe might want to use a Datum converter also.

Build

addpath /path/to/matlab-lmdb;
lmdb.make();
lmdb.make('test');

Edit Makefile to customize the build process.

Example

% Open and close.
database = lmdb.DB('./db', 'MAPSIZE', 1024^3);
clear database;
readonly_database = lmdb.DB('./db', 'RDONLY', true, 'NOLOCK', true);
clear readonly_database;

% Read and write.
database.put('key1', 'value1');
database.put('key2', 'value2');
value1 = database.get('key1');
database.remove('key1');

% Iterator.
database.each(@(key, value) disp([key, ': ', value]));
count = database.reduce(@(key, value, count) count + 1, 0);

% Cursor.
cursor = database.cursor('RDONLY', true);
while cursor.next()
  key = cursor.key;
  value = cursor.value;
end
clear cursor;

% Transaction.
transaction = database.begin();
try
  transaction.put('key1', 'value1');
  transaction.put('key2', 'value2');
  transaction.commit();
catch exception
  transaction.abort();
end
clear transaction;

TODO

  • Finer transaction API.

About

Matlab LMDB wrapper

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 78.1%
  • C++ 17.6%
  • MATLAB 2.1%
  • Roff 1.5%
  • Makefile 0.7%