A collection of premade storage drivers implementing a unified interface for Fiber middleware in Go.
Fiber Storage is a Go library that provides a standardized storage interface and a collection of premade drivers for various databases and key-value stores. It solves the problem of integrating different storage backends with Fiber middlewares by offering a consistent API for operations like get, set, delete, and reset.
Go developers building web applications with the Fiber framework who need flexible session storage, caching, or state management across multiple database systems.
Developers choose Fiber Storage for its extensive driver support, clean abstraction layer, and seamless integration with Fiber's middleware, eliminating the need to write custom storage adapters for each backend.
📦 Premade storage drivers for 🚀 Fiber
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides a single `Storage` interface with methods like `Get`, `Set`, and `Delete`, ensuring consistent interaction across all 30+ supported backends, as defined in the README's code snippet.
Includes ready-to-use implementations for over 30 databases and services, from Redis and PostgreSQL to S3 and DynamoDB, listed in the README with test status badges for reliability.
Each core operation has `WithContext` variants for request lifecycle control, and built-in TTL expiration support, making it suitable for time-sensitive storage needs in web applications.
Designed specifically for Fiber's middleware ecosystem, enabling easy drop-in use for session management, rate limiting, and caching without writing custom adapters.
The `Storage` interface only supports basic CRUD operations, lacking features for complex queries, batch operations, or database-specific optimizations, which may require workarounds for advanced use cases.
Optimized for Fiber, making it impractical for projects using other Go web frameworks without significant integration effort, as highlighted by its middleware-focused design.
The additional layer might introduce slight performance degradation compared to using native database drivers directly, especially in high-throughput scenarios, though benchmarks are provided for reference.