This repository contains all backend modules for the KiviGo key-value store library for Go. Each backend is implemented as a separate Go module, providing a unified interface and minimal dependencies for your applications.
📄 Documentation
Full documentation for KiviGo, including backend usage and examples, is available at https://kivigo.github.io/
See the Backends overview for a complete list of available backends.
- badger: High-performance local storage using BadgerDB
- consul: Distributed backend using Consul
- etcd: Distributed backend using etcd
- local: Simple local storage (BoltDB)
- redis: Redis-based backend
- azurecosmos: Azure Cosmos DB backend
- dynamodb: AWS DynamoDB backend
- memcached: Memcached backend
- mongodb: MongoDB backend
- mysql: MySQL backend
- postgresql: PostgreSQL backend
Each <backend-name> directory contains:
- Backend source code
- Unit and integration tests
- A
go.modfile for dependency management
To use a specific backend in your Go project:
go get github.com/kivigo/backends/<backend>Example for Badger:
go get github.com/kivigo/backends/badgerEach backend provides its own test suite. To run tests for a backend:
cd <backend-name>
go test ./...Some backends (Redis, Consul, etcd) require Docker for integration tests.
CI checks:
- Build and test for each backend
- Code linting
- Per-backend release publication
See .github/workflows/ for full configuration.
- Fork the repo and create a branch.
- Add or improve a backend in
backend/<name>/. - Add tests and update documentation as needed.
- Ensure all tests and lint checks pass.
- Open a Pull Request.
Please follow the main KiviGo project instructions to ensure consistency and quality.
© KiviGo Project – MIT License
