A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, Percona's PerconaFT, WiredTiger.
I have a question. Is lua-script executes in atomic-way like it does in Redis?
it's not atomic, because ardb is a multi thread application. There is a global lock before to make sure the lua interpreter only execute one script at the same time, but removed later since other thread which also can also 'set/del' data without lua script.
hi, @ipapapa , ardb can be set as a slave of a redis instance, and vice versa.
@yinqiwen thank you. I see the API in the code. Why did you choose to implement ARDB in C++ and not in another more modern language, like Golang?
@ipapapa there are several reasons: 1. when i wrote this project, golang is still young (2013.2) 2. Golang is much slow than C/C++, while performance is very important for a DB server. 3. Almost all storage engines written in C/C++, only a few have golang wrapper.