Getting Started
Welcome to KiviGo! This guide will help you get up and running with KiviGo's key-value store library in just a few minutes.
What is KiviGo?โ
KiviGo is a lightweight, modular key-value store library for Go that provides a unified interface for different backends (Redis, BadgerDB, Consul, etcd, etc.) and encoders (JSON, YAML). Each backend is implemented as a separate Go module to minimize dependencies.
Why KiviGo?โ
- ๐ Unified Interface: Switch between backends without changing your code
- ๐ฆ Modular Design: Each backend is a separate module - only install what you need
- ๐ฏ Type Safety: Automatic marshaling/unmarshaling of Go types
- ๐งช Testing Ready: Built-in mock backend for unit testing
- โก Performance: Optimized for both embedded and distributed scenarios
- ๐ก๏ธ Reliable: Comprehensive error handling and health checks
Quick Overviewโ
Here's what working with KiviGo looks like:
// Setup is backend-specific
client, err := kivigo.New(backend)
// But usage is always the same
err = client.Set(ctx, "key", value) // Store any Go type
err = client.Get(ctx, "key", &value) // Retrieve into any Go type
keys, err := client.List(ctx, prefix) // List keys by prefix
err = client.Delete(ctx, "key") // Remove data
Getting Started Guideโ
Follow these steps to start using KiviGo:
1. ๐ฆ Installationโ
Learn how to install KiviGo core and choose the right backend for your needs.
2. ๐ Quick Startโ
Get up and running with basic examples and understand the fundamentals.
3. โ๏ธ Operationsโ
Master all available operations: Set, Get, List, Delete, and more.
4. ๐ก Examplesโ
See practical, real-world examples including configuration management, caching, and session storage.
Choose Your Pathโ
Depending on your experience and needs:
๐ฐ New to KiviGo? Start with Installation โ Quick Start
๐ฏ Want specific operations? Jump to Operations for comprehensive operation guides
๐ผ Looking for real examples? Check out Examples for practical use cases
๐๏ธ Need a specific backend? Browse Backends to find the perfect storage solution
๐ง Want advanced features? Explore Advanced Features for custom backends, batch operations, and more
Community & Supportโ
- ๐ Documentation: Complete guides and API reference at azrod.github.io/kivigo/
- ๐ Issues: Report bugs and request features on GitHub
- ๐ฌ Discussions: Ask questions and share ideas in GitHub Discussions
What's Next?โ
Ready to start? Begin with Installation to set up KiviGo in your project!