https://github.com/ymgyt/kvsd
Key value store in Rust
https://github.com/ymgyt/kvsd
kvs rust
Last synced: 3 months ago
JSON representation
Key value store in Rust
- Host: GitHub
- URL: https://github.com/ymgyt/kvsd
- Owner: ymgyt
- License: mit
- Created: 2020-04-09T15:46:45.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-24T10:22:29.000Z (about 1 year ago)
- Last Synced: 2025-07-08T23:17:37.228Z (3 months ago)
- Topics: kvs, rust
- Language: Rust
- Homepage:
- Size: 213 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Kvsd
Kvsd is an asynchronous key value store with tokio runtime.
The key value is saved by appending it to a file and keeps the offset in memory.[blog post](https://blog.ymgyt.io/entry/key_value_store_with_tokio)
## Quick Start
terminal1
```
# running server (default port: 7379)
$ kvsd server --disable-tls
```terminal2
```
# running client
$ kvsd set key1 value1 --disable-tls
OK$ kvsd get key1 --disable-tls
value1$ kvsd delete key1 --disable-tls
OK old value: value1
```## Configurations
The order of configuration priority is as follows.(high to low)
- command line flag
- environment variables
- configuration file
- default value### kvsd
### server
| Key | Description | Default |
| --- | ----------- | ------- |
| max_tcp_connections | Number of clients that can be connected simultaneously | 10240 |
| connection_tcp_buffer_bytes | Buffer to be allocated per client | 4096 |
| authenticate_timeout_milliseconds | Time to wait for authentication from client when tcp connection is established | 300 |## Logging
To specify logging directive, use `KVSD_LOG` environment variable.
```console
$ KVSD_LOG=info kvsd
```