1. Nikhil Marathe
  2. snip

Source

snip / deps / redis-node-client / README.md

Diff from to

File deps/redis-node-client/README.md

  • Ignore whitespace
 - Talk to Redis from Node.js 
 - Fully asynchronous; your code is called back when an operation completes
 - [Binary-safe](http://github.com/fictorial/redis-node-client/blob/master/test/test.js#L353-363); uses Node.js Buffer objects for request serialization and reply parsing
+    - e.g. store a PNG in Redis if you'd like
 - Client API directly follows Redis' [command specification](http://code.google.com/p/redis/wiki/CommandReference) 
 - *You have to understand how Redis works and the semantics of its command set to most effectively use this client*
-- Supports Redis' new exciting PUBSUB commands
-
-Recent changes completely break backwards compatibility.  Sorry, it was time.
+- Supports Redis' new exciting [PUBSUB](http://code.google.com/p/redis/wiki/PublishSubscribe) commands
+- Automatically reconnects to Redis (doesn't drop commands sent while waiting to reconnect either) using [exponential backoff](http://en.wikipedia.org/wiki/Exponential_backoff)
+    - Be sure to see [this script](http://github.com/fictorial/redis-node-client/blob/master/test/test_shutdown_reconnect.js) for a deeper discussion
 
 ## Synopsis
 
 When working from a git clone:
 
-    var client = require("./lib/redis-client").createClient(); 
     var sys = require("sys");
-    client.stream.addListener("connect", function () {
-        client.info(function (err, info) {
-            if (err) throw new Error(err);
-            sys.puts("Redis Version is: " + info.redis_version);
-            client.close();
-        });
+    var client = require("../lib/redis-client").createClient();
+    client.info(function (err, info) {
+        if (err) throw new Error(err);
+        sys.puts("Redis Version is: " + info.redis_version);
+        client.close();
     });
 
 When working with a Kiwi-based installation:
         kiwi = require("kiwi"),
         client = kiwi.require("redis-client").createClient();
 
-    client.stream.addListener("connect", function () {
-        client.info(function (err, info) {
-            if (err) throw new Error(err);
-            sys.puts("Redis Version is: " + info.redis_version);
-            client.close();
-        });
+    client.info(function (err, info) {
+        if (err) throw new Error(err);
+        sys.puts("Redis Version is: " + info.redis_version);
+        client.close();
     });
 
 - Refer to the many tests in `test/test.js` for many usage examples.
 
 This version requires at least `Node.js v0.1.90` and Redis `1.3.8`.
 
-Tested with node `v0.1.91-20-g6e715b8`.
+Tested with Node.js `v0.1.95` and `v0.1.96` and Redis `2.1.1` (the current unstable).
 
 You have a number of choices:
 
 - git clone this repo or download a tarball and simply copy `lib/redis-client.js` into your project
 - use git submodule
 - use the [Kiwi](http://github.com/visionmedia/kiwi) package manager for Node.js
-- use the [NPM](http://github.com/isaacs/npm) package manager for Node.js
 
 Please let me know if the package manager "seeds" and/or metadata have issues.
 Installation via Kiwi or NPM at this point isn't really possible since this repo
 All commands/requests use the Redis *multi-bulk request* format which will be
 the only accepted request protocol come Redis 2.0.
 
-## Metadata
-
-- *Author*: Brian Hammond (brian at fictorial dot com) with various patches 
-  from nice people everywhere.
-- *Copyright*: Copyright (C) 2010 Fictorial LLC.
-- *License*: MIT
-