Lunar is a Key-Value, Cache, Memory based database that loads keys and values in a file when saved by command, you can load this keys and values by the command "LOAD" then filename.
💫LunarDB has a documentation website with a guide for users who are new and learning to use LunarDB!
🌐Visit here
🧭Available commands:
SET key value [ttl] - Set a key-value pair with optional TTL in seconds.
GET key - Get the value for a key.
DEL key - Delete a key-value pair.
MSET key1 value1 key2 value2 ... - Set multiple key-value pairs
MGET key1 key2 ... - Get multiple values
KEYS - List all keys
HASH SHA256 key - Hashes a key using SHA-256
HASH MURMUR3 key - Hashes a key using the MURMUR3 encryption method
HASH ROTATE input shift - Rotates a hash base on the amount of shifts
CLEAR - Clear all key-value pairs
SIZE - Get the number of key-value pairs
CLEANUP - Remove expired entries
SAVE filename - Save the cache to a file
LOAD filename - Load the cache from a file
LPUSH key value - Push an element to the head of the list
LPOP key - Remove and return an element from the head of the list
RPUSH key value - Push an element to the tail of the list
RPOP key - Remove and return an element from the tail of the list
LRANGE key start stop - Get a range of elements from the list
LLEN key - Get the length of the list
QUIT - Exit the program
A Guide how to use LunarDB using Docker!
First, pull the lunardb docker image:
docker pull kazookilovescoding/lunardb
For running the lunardb docker image:
docker run kazookilovescoding/lunardb
And you're done! You should have the LunarDB Docker Image in your machine now!
Join the LunarDB Community!
When it comes to Compiling LunarDB, there are few methods to compile it Currently, We use G++/GCC for compiling C++ files and then output them as executables!
Note: You would need:
- The Source codes for Lua v5.4.4
- For Linux this would be
liblua5.4-dev
(Ubuntu) andlua-dev
(Arch)
main.cpp
CONTAINS
LINUX-ONLY SYNTAXES FOR LINUX g++
For Compiling the LunarDB CLI in Windows, you'll need to downlad GCC Once done and all setup, you can compile the C++ files with this command:
g++ -std=c++17 main.cpp cache.cpp saved.cpp sql.cpp module.cpp hashing.cpp -o ../bin/lunar.exe
To compile LunarDB for Linux support, you'll obviously need a Linux Terminal for it. If you are using Windows, you'll need to install a WSL app (we'll use the Ubuntu WSL for simplicity)
Then run this commands:
sudo apt update
sudo apt install build-essential
After that, head to "src/" and run this to compile for Linux support:
g++ -std=c++17 main.cpp cache.cpp saved.cpp sql.cpp module.cpp hashing.cpp -I/usr/include/lua5.4 -llua5.4 -o ../bin/lunar
Feel free to contribution as it is open for all developers! Just make sure to follow the CONTRIBUTION rules and be respectful.
LunarDB is under the LICENSE of MIT.