An intuitive, object-oriented Redis API for Dart & Flutter
redis-toolkit-dart
is written following modern Dart conventions, such as:
- Strong typing & Null safety (you always know what is returned)
- Async API (write fast applications via
Future
)
- High-level, pragmatic API specific to Redis data structures (e.g.
getListRange
,setHashField
,addSetItem
) - (De)Serialization via generic API (e.g.
getValue<int>("counter")
,getList<DateTime>("timestamps")
, etc.) - Supports Redis Stream access as Dart Streams
- PubSub support via Dart Stream/Sink
- Key watching via
ValueProvider
- Low-level API for direct access (
get
,set
,command
) - Connection pooling
- Works on Android, iOS, macOS, Windows, Linux
- Auto-reconnection
- Transactions
- Object Mapping
- Binary data storage for higher efficiency
- Custom (de)serialization support (e.g.
getValue<ComplexType>("key", deserializerFunc)
) - Redis Sentinel/Cluster support
- Flutter Web support
- Support for more Redis data types
Example TBD
Manual TBD
Would you like to contribute to the project? Check out the open issues and/or start a pull request.
Please read CONTRIBUTING.md first
Would you like us to prioritize a specific feature or bugfix, or just support further development?
Get in touch with us at oss -at- mekomi.dev