MemoraDB is a lightweight, type safe, Redis-like, in-memory key-value store written in TypeScript. It currently supports operations like SET
, GET
, EXPIRE
, and more.
It was my attempt to learn more about Redis and TypeScript.
- In-memory key-value storage
- Supports TTL (Time-To-Live) for keys
- Basic Redis-like commands (
SET
,GET
,DEL
,INCR
,DECR
,FLUSHALL
, etc.) - Lightweight and easy to integrate
- TCP server for remote communication
- TypeScript support with an easy-to-use client library (WIP)
You can install MemoraDB via npm:
npm install memoradb
You can start the Memora server using:
npx memoradb 7000
This will start the server on port 7000
.
If MemoraDB is running as a TCP server, you can interact with it using netcat
:
nc localhost 7000
Then, you can enter commands like:
SET name MemoraDB
GET name
INCR counter
MemoraDB supports the following commands:
Command | Description |
---|---|
SET key value [EX seconds] |
Stores a key with an optional expiration time |
GET key |
Retrieves the value of a key |
DEL key |
Deletes a key |
EXPIRE key seconds |
Sets a time-to-live (TTL) for a key |
TTL key |
Gets the remaining TTL for a key |
PERSIST key |
Removes expiration from a key |
FLUSHALL |
Deletes all keys |
INCR key |
Increments a numerical key |
DECR key |
Decrements a numerical key |
Contributions are welcome! Feel free to open issues or submit PRs.
This project is licensed under the MIT License.