A high-performance async/non-blocking Redis client for Dart
Dart Shell
Switch branches/tags
Nothing to show
Latest commit 7807a93 Dec 16, 2015 @butlermatt butlermatt Merge pull request #62 from butlermatt/master
Implements existing changes
Failed to load latest commit information.
benchmark add benchmark code Jan 4, 2015
lib Add changes from current version Dec 16, 2015
test Add changes from current version Dec 16, 2015
.gitignore Update more .gitignore for additional dart files Dec 15, 2015
CHANGELOG.md Another version roll Dec 15, 2015
LICENSE updating pubspec url and adding licence file Dec 28, 2012
README.md Added drone.io badge. Apr 18, 2014
pubspec.yaml Another version roll Dec 15, 2015


Dart Redis Client

Build Status

A high-performance async/non-blocking Redis client for Dart.

The client is well tested including UTF-8 support.

As all operations are async they return Futures for better handling of asynchronous operations.

v0.1 Released

The Redis Client API is now feature complete with support for all ADMIN tasks as well as all KEYS, LISTS, SETS, SORTED SETS and HASH collections including tests for all operations.

Follow @demisbellot for project updates.

Adding Dependencies with Pubspec

  redis_client: any

Example Usage

import "package:redis_client/redis_client.dart";

main() {
  var connectionString = "localhost:6379";
      .then((RedisClient client) {
        // Use your client here. Eg.:
        client.set("test", "value")
            .then((_) => client.get("test"))
            .then((value) => print("success: $value"));

More examples can be found in the tests in redis_client_tests.dart.


Please look at the RedisClient API for a list of commands and usage.

Redis Connection Strings

The redis clients above take a single connection string containing the password, host, port and db in the following formats:

  • pass@host:port/db
  • pass@host:port
  • pass@host
  • host
  • null results in the default string localhost:6379/0

Valid example:



If you're not interested in the high level RedisClient API, you can use the RedisProtocolTransformer directly.

Just include it like this:

import "package:redis_client/redis_protocol_transformer.dart";


v0.2.0 release (2-4 weeks)

After the v1.0 release we'll start work on implementing the remaining functionality:

  • Transactions, Pub/Sub, Lua/Scripts

v0.3.0 release (future)

Adding automatic failover support in v3.0, sharding, fast RPC direct-pipeline using the Redis wire format with node.js/C# processes



Feedback and contributions are welcome.