/rosedb

🚀 A high performance NoSQL database based on bitcask, supports string, list, hash, set, and sorted set.

Primary LanguageGoApache License 2.0Apache-2.0

rosedb_ico.png

Go Report Card GitHub top language GitHub stars codecov CodeFactor Go Reference Mentioned in Awesome Go LICENSE

English| 简体中文

rosedb is a fast, stable, and embedded NoSQL database based on bitcask, supports a variety of data structures such as string, list, hash, set, and sorted set.

It is similar to Redis but store values on disk.

Key features:

  • Compatible with Redis protocol (not fully)
  • Many data structures: string, list, hash, set, and sorted set
  • Easy to embed into your own Go application
  • High performance, suitable for both read and write intensive workload
  • Values are not limited by RAM

Design Overview

Quick Start

1. embedded usage: see examples

2. command line usage:

start rosedb server

cd rosedb
make
./rosedb-server [-option value]

access data via cli(a copy of redis-cli)

Only mac now, download redis-cli according to your os.

cd rosedb/tools
./cli-mac -p 5200

127.0.0.1:5200> 
127.0.0.1:5200> set my_key RoseDB
OK
127.0.0.1:5200> get my_key
"RoseDB"
127.0.0.1:5200> 

Documentation

See wiki

Community

Welcome to join the Slack channel and Discussions to connect with RoseDB team members and other users.

If you are a Chinese user, you are also welcome to join our WeChat group, scan the QR code and you will be invited:

Contributing

If you are interested in contributing to rosedb, see CONTRIBUTING and how to contribute?

License

rosedb is licensed under the term of the Apache 2.0 License