安装LevelDB:
cd /usr/local/src/
wget http://leveldb.googlecode.com/files/leveldb-1.15.0.tar.gz
tar zxvf leveldb-1.15.0.tar.gz
cd leveldb-1.15.0
make
cp libleveldb.* /usr/local/lib/
cp -r include/leveldb /usr/local/include/
LevelDB提供了一个测试程序:
make db_bench
cp db_bench /usr/local/bin/
db_bench --num=100000000 --write_buffer_size=$((256*1024*1024))
安装PHP扩展,https://github.com/reeze/php-leveldb
git clone https://github.com/reeze/php-leveldb.git
cd php-leveldb/
phpize
./configure
make
make install
echo 'extension=leveldb.so' >> /etc/php.ini
测试下下写入2亿数据用时30分钟,然后读取单个key用时0.02秒左右。
<?php
$start = microtime ( true );
$db = new LevelDB("/tmp/leveldb-test2-db");
for($i=1; $i<=200000000; $i++)
{
$key = sprintf('%012d', $i);
$db->put("queue-$key", "value$i@gmail.com");
}
$end = microtime ( true );
echo "脚本执行时间".($end - $start)."\n";
//$db->get('key');
?>
前端可使用:Kyoto Tycoon
标签:none