https://github.com/anuragts/tangerine
in-memory vector database
https://github.com/anuragts/tangerine
Last synced: 3 months ago
JSON representation
in-memory vector database
- Host: GitHub
- URL: https://github.com/anuragts/tangerine
- Owner: anuragts
- License: mit
- Created: 2024-04-21T22:14:51.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-04T09:20:26.000Z (about 2 years ago)
- Last Synced: 2025-10-04T02:59:15.728Z (9 months ago)
- Language: Java
- Homepage: https://tangerine.zshlabs.tech
- Size: 101 KB
- Stars: 39
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: roadmap/KV.md
Awesome Lists containing this project
- awesome-java - Tangerine
README
# 🍊 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
```bash
docker run -p 1111:1111 anuragdev123/tangerine-kv:latest
```
#### Manual Installation
Making sh executable
```bash
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.
```bash
./tangerinekv-compile.sh
```
Running the Tangerine-KV Server
```bash
./tangerinekv-server.sh
```
Running the Tangerine-KV Client
```bash
./tangerinekv-cli.sh
```
Testing
```bash
$ SET key value
```
if server responds with `OK`, then the client & server is working.
### Commands
#### PING
```bash
$ PING
```
#### SET
```bash
$ SET key value
```
#### GET
```bash
$ GET key
```
#### REMOVE
```bash
$ REMOVE key
```
#### ALL
```bash
$ ALL
```
#### CONTAINS
```bash
$ CONTAINS key
```
#### CLEAR
```bash
$ CLEAR
```
#### EXPIRE
```bash
$ EXPIRE key seconds
```
#### TTL
```bash
$ TTL key
```
#### HELP
```bash
$ HELP
```
#### SUBSCRIBE
```bash
$ SUBSCRIBE topic
```
#### PUBLISH
```bash
$ PUBLISH topic message
```
for progress and status check TODO.md
## License
MIT