https://github.com/sfluor/blazedb
A simple key value store
https://github.com/sfluor/blazedb
database golang keyvaluestore storage
Last synced: 4 months ago
JSON representation
A simple key value store
- Host: GitHub
- URL: https://github.com/sfluor/blazedb
- Owner: sfluor
- License: mit
- Created: 2018-05-14T13:41:17.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-04-01T06:44:16.000Z (about 6 years ago)
- Last Synced: 2025-10-19T04:40:07.389Z (8 months ago)
- Topics: database, golang, keyvaluestore, storage
- Language: Go
- Size: 20.5 KB
- Stars: 6
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# blazedb
[](https://travis-ci.com/sfluor/blazedb)
BlazeDB is a simple key value storage system.
It uses a tcp server to communicate with clients with the following available commands:
- `set key value`
- `get key`
- `update key value`
- `delete key`
There is a client embedded within the blazedb binary but you can also use telnet to communicate with the server:
```
$ telnet localhost 9876
Trying ::1...
Connected to localhost.
Escape character is '^]'.
set x 1
success
get x
1
```
## Starting the server
To start the blazedb server simply do
`blazedb server -c `
## Configuration
The sample configuration can be found in server/config.template.toml and contains the following:
```
# Default blazedb configuration
# Port on which to listen for the blazedb server
# port = 9876
# Max queue size for the blazedb server commands
# max_queue_size = 100
# The logfile
# log_file = "/tmp/blazedb.log"
# Where to save data on disk
# save_file = "/tmp/blaze.dump"
# How often we need to save data on disk
# save_period = "1m"
# Debug mode (0 or 1)
# debug = 0
```
## Todos
- [x] Save database to disk
- [x] Log file
- [x] Configuration file
- [x] Add a go client
- [x] Tests
- [ ] Thread safety
- [ ] Documentation
- [ ] Code example
- [ ] Add a parameter to dump the state every N write commands
- [ ] Add SSL support