Skip to content

anuragts/tangerine

Repository files navigation

🍊 tangerine.

in-memory vector database

tangerine is a in-memory vector database that is designed to have fast read and write speeds.

tangerine is not limited to vector database, as it has its own key-value store written from scratch in Java.

Key-Value Store

Installation and Running.

Using Docker

docker run -p 1111:1111 anuragdev123/tangerine-kv:latest

Manual Installation

Making sh executable

chmod +x tangerinekv-server.sh
chmod +x tangerinekv-cli.sh
chmod +x tangerinekv-compile.sh

Note

The .java files are already compiled when running the scripts, but to prevent any issues with the classpath, you should compile them first.

./tangerinekv-compile.sh

Running the Tangerine-KV Server

 ./tangerinekv-server.sh

Running the Tangerine-KV Client

 ./tangerinekv-cli.sh

Testing

$ SET key value

if server responds with OK, then the client & server is working.

Commands

PING

$ PING

SET

$ SET key value

GET

$  GET key

REMOVE

$  REMOVE key

ALL

$  ALL

CONTAINS

$  CONTAINS key

CLEAR

$  CLEAR

EXPIRE

$  EXPIRE key seconds

TTL

$  TTL key

HELP

$  HELP

SUBSCRIBE

$  SUBSCRIBE topic

PUBLISH

$  PUBLISH topic message

for progress and status check TODO.md

License

MIT