海运的博客

NoSQL持久化存储之LevelDB

发布时间:January 2, 2014 // 分类:NoSQL // No Comments

安装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

评论已关闭

分类
最新文章
最近回复
  • 海运: 网络,找到相应的url编辑重发请求,firefox有此功能,其它未知。
  • knetxp: 用浏览器F12网络拦截或监听后编辑重发请求,修改url中的set为set_super,将POS...
  • Albert: 啊啊啊啊啊啊啊啊啊 我太激动了,终于好了英文区搜索了半天,翻遍了 pve 论坛没找到好方法,博...
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...
  • 海运: 关闭服务器
  • 海风: override.battery.charge.low以及override.battery.r...
  • koldjf: 不能过滤
  • 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏