
If you have feature request feel free to open an Issue
goVault is designed to provide quick and efficient access to data. Built with simplicity and performance in mind, that is perfect for applications that demand speed and low latency.
- High Performance: Optimized for rapid data storage and retrieval.
- Simple API: Easy-to-use commands for storing, retrieving, and deleting data.
- In-Memory Storage: All data is stored in memory, ensuring low-latency operations.
- Lightweight: Minimal dependencies, built entirely in Go.
You can pull the Docker image directly from Docker Hub and start using goVault immediately:
- Pull the Docker image:
docker pull lif0/govault:latest
- Create a
config.yaml
file with your custom configuration. Example:
engine:
max_threads: 4
network:
address: ":7777"
logging:
level: "debug"
output: "./goVault/log/output.log"
stdout: false
wal:
flushing_batch_length: 100
flushing_batch_timeout: "10ms"
max_segment_size: "10MB"
data_directory: "./goVault/data/wal"
- Run the container:
docker run -p 8080:{port-from-config} lif0/govault:latest
- Now your goVault instance is running and ready to use on
localhost:{port-from-config}
.
The grammar of the query language in the form of eBNF:
query = set_command | get_command | del_command
set_command = "SET" argument argument
get_command = "GET" argument
del_command = "DEL" argument
argument = punctuation | letter | digit { punctuation | letter | digit }
punctuation = "\*" | "/" | "_" | ...
letter = "a" | ... | "z" | "A" | ... | "Z"
digit = "0" | ... | "9"
- SET: Store a key-value pair.
SET key value
- GET: Retrieve the value for a key.
GET key
- DEL: Delete a key-value pair.
DEL key
Contributions are welcome! Feel free to open an issue or submit a pull request to improve goVault.
This project is licensed under the Apache 2.0 License. See the LICENSE file for details.
Made with ❤️ in Go.