因为撤离SAE的原因,所以...
配置方法是先安装大于3.9版本以上的cmake,Debian 9默认apt安装的版本是3.7的,安装好cmake后克隆levelDB项目:https://github.com/google/leveldb,用下面命令配置LevelDB,目的是生成动态链接版本:
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON .
然后构建并安装:
cmake --build . sudo make install
注意安装结果是so文件.
这样Level DB就已经完成了,Level DB比Redis好处是持久化,比SQL方便的地方就是简单,缺点就是数据多的时候,不好分类管理.另外Level DB单纯C++来说,也是很好访问的.
接着是PHP扩展,建议编译安装,因为系统带的非常老旧.我这里基于有php7.0以及php7.0-dev为例,安装这个服务,PHP扩展地址:https://github.com/reeze/php-leveldb
然后使用.configure => make => sudo make install就可以得到扩展模块了.
当然还要添加到php.ini配置里面.
最简单的测试.输出:string(5) "Value"
<?php
$db = new LevelDB("/tmp/test-db");
$db->set("Key", "Value");
var_dump($db->get("Key"));
$db->delete("Key");
最简单的C++例子.
#include <iostream>
#include <db.h>
using namespace std;
int main(int argc, char *argv[])
{
    leveldb::DB *db;
    leveldb::Status s ;
    leveldb::Options options;
    options.create_if_missing = true;
    string key = "username";
    string value = "mypass";
    string value_get;
    leveldb::DB::Open(options, "/tmp/test-db", &db);
    s = db->Put(leveldb::WriteOptions(), key, value);
    s = db->Get(leveldb::ReadOptions(), key, &value_get);
    cout << value_get << endl;
    delete db;
    return 0;
}
编译方法:
g++ -lleveldb -lpthread leveldb_test.cpp -I/usr/local/include/leveldb -Ofast -o leveldb_test
运行结果:
反复执行多次PHP脚本,这样就得到PHP的编译缓存,结果还是C语言快.(这不是废话吗,PHP的模块也是C写的.)