Matt Ranney
ee93d1b91b
Add probe for server readiness.
...
When a Redis server starts up, it might take a while to load the dataset into memory.
During this time, the server will accept connections, but will return errors for all non-INFO
commands. Now node_redis will send an INFO command whenever it connects to a server.
If the info command indicates that the server is not ready, the client will keep trying until
the server is ready. Once it is ready, the client will emit a "ready" event as well as the
"connect" event. The client will queue up all commands sent before the server is ready, just
like it did before. When the server is ready, all offline/non-ready commands will be replayed.
This should be backward compatible with previous versions.
To disable this ready check behavior, set `options.no_ready_check` when creating the client.
As a side effect of this change, the key/val params from the info command are available as
`client.server_options`. Further, the version string is decomposed into individual elements
in `client.server_options.versions`.
2011-02-16 15:46:27 -10:00
Matt Ranney
ccce845cc2
Some bug fixes:
...
* An important bug fix in reconnection logic. Previously, reply callbacks would be invoked twice after
a reconnect.
* Changed error callback argument to be an actual Error object.
New feature:
* Add friendly syntax for HMSET using an object.
2010-12-29 17:48:40 -08:00
Matt Ranney
36c40ee03d
JavaScript parser passes all tests when returning strings.
...
JS is still way too slow for large mb replies. Hiredis is fast for strings of large replies,
but slow for buffers.
2010-12-07 00:23:31 -08:00
Matt Ranney
b907364573
Support for multiple reply parsers including hiredis.
...
Several parsing bugs fixed in JavaScript.
Some new config options that need to be better documented.
2010-12-06 09:11:16 -08:00
Pieter Noordhuis
7b4ca228d6
Fix incorrect test
2010-11-30 23:00:32 +01:00
Pieter Noordhuis
8c158eb75f
Merge branch 'master' into hiredis-merge
2010-11-30 22:40:36 +01:00
Matt Ranney
f30e08235f
Explicitly check for empty Array instead of comparing to []
2010-11-30 13:37:53 -08:00
Pieter Noordhuis
88711fe4fe
Move requiring util to a separate file
2010-11-30 22:19:24 +01:00
Matt Ranney
12d2aebb70
Send empty Array for 0 length mb replies instead of null.
2010-11-30 13:05:07 -08:00
Matt Ranney
79511b4499
Fix parser bug after failed EXEC.
2010-11-30 11:47:52 -08:00
Matt Ranney
05e9699817
Fix for null MULTI response when WATCH condition fails.
2010-11-10 10:36:26 -08:00
Paul Carey
5bddbe3d9a
Partial fix for null multi bulk response.
2010-11-10 10:04:47 -08:00
Matt Ranney
f91626d110
Send friendlier error event on stream errors.
2010-11-03 12:43:18 -07:00
Matt Ranney
86b2c22c80
Use db 15 for testing. Adapt many fine tests from fictorial's client.
2010-10-30 01:38:47 -07:00
Matt Ranney
ee976bb82c
Add test for BLPOP, tighten up MULTI tests.
2010-10-21 18:14:44 -07:00
Aivo Paas
1cfbdea49a
Minor fixes in tests
...
Moved a last() call to the end of a test
Fixed typo and added error message when client emits error
2010-10-02 22:06:16 +03:00
Aivo Paas
3495b60047
Fixed .multi() to convert HGETALL result to an object
2010-10-02 22:00:57 +03:00
Orion Henry
dcbb87dff7
fix bug not allowing you to quit while in subscribe mode - added test
2010-09-27 17:11:12 -07:00
Orion Henry
01068565d9
adding a test for utf8 strings
2010-09-27 16:34:54 -07:00
Matt Ranney
a21607100b
Add test for multi with array args.
2010-09-24 18:45:39 -07:00
Matt Ranney
d7b14b335a
More tests for different MULTI syntax.
2010-09-24 13:16:30 -07:00
Matt Ranney
29f10cd593
Merge remote branch 'tj/features/multi'
...
Conflicts:
test.js
2010-09-24 10:51:21 -07:00
Matt Ranney
c1225b9b86
More tests for MULTI and nested multi-bulk replies.
2010-09-23 12:21:24 -07:00
Tj Holowaychuk
7795d68351
Extended multi test to include multibulk
2010-09-22 20:12:37 -07:00
Tj Holowaychuk
91ebe64dae
Implemented alternate MULTI syntax
...
Usage:
client
.multi
.set(foo, bar)
.set(counter, 1)
.incr(counter)
.exec(function(err, replies){});
2010-09-22 18:38:55 -07:00
Matt Ranney
bbbc4abd3b
Update MULTI test for nested multi-bulk.
2010-09-22 17:34:45 -07:00
Matt Ranney
58e620058f
Add test for BLPOP.
2010-09-22 10:33:53 -07:00
rick
0b51924aa7
ensure client emits connect and end events
2010-09-20 12:29:35 -07:00
Matt Ranney
6359a02208
Add QUIT command for orderly shutdown.
2010-09-20 11:56:30 -07:00
Tj Holowaychuk
8cd56f5987
Fixed HGETALL_NULL assertions
2010-09-20 07:34:23 -07:00
Tj Holowaychuk
a93020c555
Fixed null HGETALL bug causing exception
2010-09-20 07:32:45 -07:00
Matt Ranney
200ced827a
Add test for pub/sub.
2010-09-19 23:47:39 -07:00
Matt Ranney
42c752f759
Add test for HINCRBY
2010-09-18 21:27:09 -07:00
Matt Ranney
09f1564b7c
Add test for HMGET
2010-09-18 20:24:06 -07:00
Matt Ranney
75f1344958
Add test for HSET empty key and empty value.
2010-09-18 20:09:31 -07:00
Tj Holowaychuk
87e4ef0216
Removed benchmark related tests
2010-09-17 18:55:04 -07:00
Matt Ranney
8e7f1cc1e7
Add test for HSET that exposes 0 length bug.
2010-09-17 17:32:41 -07:00
Tj Holowaychuk
a84c217827
Fixed zero length multibulk. Passing null not an empty array
2010-09-17 16:47:46 -07:00
Matt Ranney
c7d28bc601
Run all tests 10K times so RPS comes out right.
...
Also fix assert in LRANGE tests.
2010-09-17 16:34:05 -07:00
Matt Ranney
75005c85c7
Merge remote branch 'tj/tests'
2010-09-17 16:24:43 -07:00
Tj Holowaychuk
c50dff0835
Colored test output
2010-09-17 16:11:06 -07:00
Tj Holowaychuk
d7c5fc6d6e
Fixed zero-length mutlibulk replies
2010-09-17 15:35:26 -07:00
Tj Holowaychuk
c0f7a40bbf
Added empty KEYS test illustrating hang
2010-09-17 15:09:25 -07:00
Tj Holowaychuk
bcbf3834e1
Implemented HGETALL response as object
2010-09-17 14:52:32 -07:00
Tj Holowaychuk
0b3a1c3eaa
Added HGETALL object assertions
2010-09-17 14:46:15 -07:00
Matt Ranney
850e5712cb
Change LRANGE test to 0 499 to match redis-benchmark.
...
Also use client.close() to exit cleanly.
2010-09-17 11:15:10 -07:00
Matt Ranney
30de0a5fc4
Add performance tests similar to redis-benchmark.
2010-09-16 23:52:47 -07:00
Matt Ranney
ca67780b5a
Fix JSLint errors.
2010-09-14 23:01:12 -07:00
Matt Ranney
36cffb433b
Rename redis.js to index.js
2010-09-14 17:12:05 -07:00
Matt Ranney
d42752b34e
Remove eyes reference.
2010-09-14 17:09:03 -07:00