Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
# -*- mode: org; mode: auto-fill -*- #+TITLE: Redis-Leveldb #+AUTHOR: KDr2 * Introduction !!! Notice !!!: This project is looking for a new maintainer, if you are interested, please fix some known issues then contact me, I will transfer the project to you. Thank you. Redis-LevelDB is a redis-protocol compatible frontend to google's leveldb: Use leveldb as a Redis-Server. #+BEGIN_HTML <a href="https://github.com/KDr2/redis-leveldb/actions/workflows/Testing.yaml" target="_blank" style="float: right;"> <img alt="CI BUILD STATUS" src="https://github.com/KDr2/redis-leveldb/actions/workflows/Testing.yaml/badge.svg" style="max-width:100%;"> </a> #+END_HTML Current Version: 1.6 * Redis COMMAND Supported ** key-value commands: - incr/incrby - get/set - mget/mset ** hash commands(New): - hget - hset - hsetnx - hdel - hexists - hgetall - hkeys - hvals - hlen ** set commands(New): - sadd - srem - scard - smembers - sismemeber ** transaction commands: - multi - exec - discard ** connection commans: - select: select db (when redis-leveldb run in multi-db mode, with argument =-M <num>=) ** server commands: - keys - info: Different to redis, this info command accepts a flag argument, eg =info=, =info k=, =info t=, =info kt= * default: show leveldb.stat info * k: show the count of all keys * t: show leveldb.sstables info * Dependencies - libev(>=1.4): install with apt-get or port please. - gmp(http://gmplib.org/): install with apt-get or port please. - libsnappy - leveldb: * git clone git://github.com/KDr2/redis-leveldb.git * cd redis-leveldb * git submodule init * git submodule update * Compile #+BEGIN_SRC sh [LIBEV=LIBEV_PREFIX GMP=GMP_PREFIX DEBUG=1] make #+END_SRC * Run #+BEGIN_SRC sh ./redis-leveldb -h #+END_SRC ** options: - -d: run redis-level as a daemon process - -H <host-ip>: host addr to listen on(eg: 127.0.0.1) - -P <port>: port to listen on(default 8323) - -D <data-dir>: leveldb data dir(default "redis.db" under your work directory) - -M <number>: run in multi-db mode and set its db count to <number>, each db in the server is a separatly leveldb database and its data directory is a directory named =db-<num>= under the directory you specified with the option =-D=; you can use command =select= to switch db on the client side while redis-leveldb is running in this mode. * Test Suite - dependencies: perl5(>=v5.10) with Redis.pm - run test: ~make test~ * Known Issues - [[https://github.com/KDr2/redis-leveldb/issues/13][issue 13]]: signle data package size limitation.