hollyさんのwiki

google製のkvs。kyotocabinetとどっちの性能がいいかはわからないが、kyototycoonから使用できるようなので試してみる

インストール

結構インストールに苦労した記事がみつかるがおそらくLinux系ならすんなりインストールできそう
cd /usr/local/src
curl -LO http://leveldb.googlecode.com/files/leveldb-1.5.0.tar.gz
tar xvfz leveldb-1.5.0.tar.gz
cd leveldb-1.5.0
make
make check

終わったら自分で設置する
mkdir /usr/local/leveldb-1.5.0
mkdir /usr/local/leveldb-1.5.0/lib
(cd /usr/local; ln -s leveldb-1.5.0 leveldb)
cp -a *.a /usr/local/leveldb/lib/
cp -a libleveldb.so.1.5 /usr/local/leveldb/lib/
cp -d libleveldb.so.1 /usr/local/leveldb/lib/
cp -d libleveldb.so /usr/local/leveldb/lib/
cp -a include /usr/local/leveldb/

ライブラリもpathが通るようにする
echo /usr/local/leveldb/lib > /etc/ld.so.conf.d/leveldb.conf
ldconfig -v

これでc++から扱えるらしいが、c++なんてほぼ書けない・・・

perl-Tie-LevelDB

cpanmでインストールできる。leveldb本体がインストールされていなくてもいけるようだ。headerファイルとかもpackageに含まれているようだが、若干古いようだ

インストール

cpanmで終わり
cpanm Tie::LevelDB

使い方

tieを使った人にはおなじみのやりかた
#!/usr/bin/env perl
#
use strict;
use warnings;
use Tie::LevelDB;
use Storable qw(nfreeze thaw);

our $DBDIR = "testdir";

tie my %h, "Tie::LevelDB", $DBDIR;
$h{foo} = "bar";
untie %h;
referenceを保存したい場合はserialize/deserializeをしないといけないが、格納することは可能。基本的なことはとりあえずこれでできる感じ

Wiki内検索

Menu

ここは自由に編集できるエリアです。

管理人/副管理人のみ編集できます