官网:https://kdr2.com/project/redis-leveldb.html
1. 代码
https://github.com/KDr2/redis-leveldb
git clone git://github.com/KDr2/redis-leveldb.git
cd redis-leveldb
git submodule init
git submodule update
2. 在 centos9 中编译
注意⚠️:src/rl.h
中定义了一次性读取 socket 内容的 READ_BUFFER
是 81920,所以如果客户端传输的内容有可能大于这个值,那么需要手动修改一下。
2.1 安装依赖
I. 安装源 epel-release
wget https://dl.fedoraproject.org/pub/epel/9/Everything/aarch64/Packages/e/epel-release-9-7.el9.noarch.rpm
rpm -Uvh epel-release*rpm
或者
yum install -i epel-release
II. 安装 libev-devel
和 gmp-devel
来源:https://rhel.pkgs.org/9/epel-aarch64/libev-devel-4.33-5.el9.aarch64.rpm.html
dnf install -y libev-devel gmp-devel snappy
III.安装 snappy-devel
来源:https://centos.pkgs.org/9-stream/centos-crb-x86_64/snappy-devel-1.1.8-8.el9.x86_64.rpm.html
dnf --enablerepo=crb install -y snappy-devel
2.2 编译 redis-leveldb
make
也可以增加编译选项
[LIBEV=LIBEV_PREFIX GMP=GMP_PREFIX DEBUG=1] make
DEBUG=1
为调试模式,每次接收到请求后都会打印所以的信息。
3. 启动服务
./redis-leveldb -h
参数
- -d: run redis-level as a daemon process
- -H