Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Kazooki123/LunarDB
LunarDB is a cache key-value store database made in C++
https://github.com/Kazooki123/LunarDB
cache cache-storage cpp database key-value-store lunar nosql
Last synced: 6 days ago
JSON representation
LunarDB is a cache key-value store database made in C++
- Host: GitHub
- URL: https://github.com/Kazooki123/LunarDB
- Owner: TheStarloTeam
- License: mit
- Created: 2024-09-14T02:48:04.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-09-24T11:37:02.000Z (4 months ago)
- Last Synced: 2024-09-25T01:10:13.309Z (4 months ago)
- Topics: cache, cache-storage, cpp, database, key-value-store, lunar, nosql
- Language: C++
- Homepage: https://lunardbdocs.vercel.app/
- Size: 277 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
🌑LunarDB: A cache key-value database
⚡A Blazingly Fast Cache database⚡
## 🔗What is it?
LunarDB is a **multi-model, key-value store, 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.
## Install
A Guide to **Installing LunarDB**!
### 💽Git clone (Recommended)
If you want the full source code of **LunarDB** for yourself then you can run:
```bash
git clone https://github.com/Kazooki123/lunardb.git
```### 🪟Windows
While **outdated**, you can go to the `installer/` directory and get yourself a **LunarDB CLI executable** file!
### 🐧Linux
`Coming soon...`
### 🍎Apple
You can use and install **Homebrew** and run this:
```bash
brew install lunardb
```## 📖Documentation
**💫LunarDB** has a documentation website with a guide for users who are new and learning to use LunarDB!
**🌐Visit** [here](https://lunardbdocs.vercel.app/docs/)
## 🔗Commands
**🧭Basic 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
### Additional Notes
For more commands you can run the **CLI** executable or read our **Documentation Page**.
## Docker
A **Guide** how to use **LunarDB** using Docker!
### Pull
First, pull the lunardb docker image:
```bash
docker pull kazookilovescoding/lunardb
```### Run it
For running the lunardb docker image:
```bash
docker run kazookilovescoding/lunardb
```And you're done! You should have the **LunarDB** Docker Image in your machine now!
## 🫂Community
**Join** the LunarDB Community!
- [Discord](https://discord.gg/KgxNzAZ5)
## ⚙️Compiling LunarDB
Please refer to the [COMPILE GUIDE](COMPILEGUIDE.md) documentation file.
## 🤝CONTRIBUTIONS
Feel free to contribution as it is open for all developers! Just make sure to follow the CONTRIBUTION rules and be respectful.
## ©️LICENSE
LunarDB is under the LICENSE of [MIT](https://github.com/Kazooki123/LunarDB/blob/main/LICENSE)
And the [LunarDB License Agreement (LLA)](https://github.com/Kazooki123/LunarDB/blob/main/LUNARDB_LICENSE.txt)