An asynchronous, persistent key-value store for .NET desktop and mobile applications, based on SQLite3.
Akavache is an asynchronous, persistent key-value store for .NET desktop and mobile applications, built on SQLite3. It solves the problem of reliably storing both critical user data (like settings) and temporary cached data (like API responses) with built-in expiration, enabling developers to build responsive, offline-capable applications.
C# developers building desktop (Windows) or cross-platform mobile applications (via .NET MAUI, Xamarin) who need a robust, asynchronous solution for local data persistence and caching.
Developers choose Akavache for its reactive, asynchronous API that ensures UI responsiveness, its modular design allowing choice of serializer and storage backend, and its proven reliability as part of the ReactiveUI ecosystem for building modern .NET applications.
An asynchronous, persistent key-value store created for writing desktop and mobile applications, based on SQLite3. Akavache is great for both storing important data as well as cached local data that expires.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
All cache operations are non-blocking, ensuring UI responsiveness in desktop and mobile apps, as highlighted in the asynchronous API feature.
Uses SQLite3 for reliable disk storage, making data persistent across app sessions, which is ideal for settings and offline data caching.
Supports both System.Text.Json for performance and Newtonsoft.Json for compatibility, with cross-serializer reading capabilities for flexible data handling.
Offers UserAccount, LocalMachine, Secure, and InMemory caches tailored for different data security, lifetime, and persistence needs.
The builder pattern requires explicit provider setup and serializer type specification, with deprecated behaviors noted in the README that add confusion and potential for errors.
Built on Rx philosophy, introducing a steep learning curve for developers unfamiliar with reactive programming patterns, which may increase onboarding time.
Designed exclusively for .NET frameworks, limiting its use in cross-platform projects outside the Microsoft ecosystem and reducing flexibility for polyglot teams.