redis_client 0.1.16

  • Readme
  • Changelog
  • Installing
  • 16

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.

Changes #

0.1.16 #

  • Version roll logger
  • Move to test package from unittest

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  redis_client: ^0.1.16

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:redis_client/redis_client.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
32
Health:
Code health derived from static analysis. [more]
--
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
--
Overall:
Weighted score of the above. [more]
16
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=0.8.10+6 <2.0.0