Skip to content

dartist/redis_client

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
January 4, 2015 19:35
lib
December 16, 2015 10:35
December 16, 2015 10:35
December 15, 2015 17:08
April 18, 2014 13:56
December 15, 2015 17:08

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

dependencies:
  redis_client: any

Example Usage

import "package:redis_client/redis_client.dart";

main() {
  var connectionString = "localhost:6379";
  RedisClient.connect(connectionString)
      .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.

API

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:

RedisClient.connect("password@localhost:6379/0");

RedisProtocolTransformer

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";

RoadMap

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

Contributors

Feedback

Feedback and contributions are welcome.

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published