Matt Ranney
29e09c1c16
Fix bug in ready check with `return_buffers` set to `true`.
Thanks to Dean Mao and Austin Chau.
14 years ago
Matt Ranney
99ae085e40
Document ready check changes.
14 years ago
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`.
14 years ago
Matt Ranney
8cf8c99763
Update Redis commands link to redis.io.
14 years ago
Matt Ranney
0f907401f0
Fix excess memory consumption from Queue backing store.
Thanks to Gustaf Sjöberg.
14 years ago
Matt Ranney
efadbc8582
Fix multi/exec error reply callback logic.
Thanks to Stella Laurenzo.
14 years ago
Matt Ranney
2d7869261a
Fix bug where unhandled error replies confuse the parser.
14 years ago
nithesh
8787d81abf
Added support for new BIT-related commands.
14 years ago
Matt Ranney
c1b5587e74
Fix bug where subscribe commands would not handle redis-server startup error properly.
14 years ago
Matt Ranney
fc5968c96c
Merge branch 'master' of github.com:mranney/node_redis
14 years ago
Matt Ranney
81ac292fce
Fix markdown indentation, I think.
14 years ago
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.
14 years ago
Matt Ranney
9b28851ab0
Remove extra call to EventEmitter constructor.
14 years ago
Matt Ranney
aa3cefe506
Allocate new Arrays with known size instead of dynamically growing them.
14 years ago
Matt Ranney
202df58b93
Re-throw callback errors on nextTick
Otherwise an error thrown in a callback would be throw on the parser's stack.
14 years ago
Matt Ranney
cfe0df1c3f
Remove warning about missing hiredis. You probably do want it though.
14 years ago
Matt Ranney
e0ff3fea10
Revert accidental change of bench size.
14 years ago
Matt Ranney
b81da6d8fc
Support for multiple response parsers and hiredis C library from Pieter Noordhuis.
Return Strings instead of Buffers by default.
Empty nested mb reply bug fix.
14 years ago
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.
14 years ago
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.
14 years ago
Matt Ranney
232f34a4e1
Add Unix socket example.
14 years ago
Pieter Noordhuis
a5381964d9
Add option to specify whether to return strings or buffers for bulk data
14 years ago
Pieter Noordhuis
7b4ca228d6
Fix incorrect test
14 years ago
Pieter Noordhuis
8c158eb75f
Merge branch 'master' into hiredis-merge
14 years ago
Pieter Noordhuis
4bef57cff0
Try to use hiredis as default reply parser
14 years ago
Matt Ranney
f30e08235f
Explicitly check for empty Array instead of comparing to []
14 years ago
Pieter Noordhuis
1e698e3fce
Move the reply parser to its own file
14 years ago
Pieter Noordhuis
88711fe4fe
Move requiring util to a separate file
14 years ago
Pieter Noordhuis
275030148b
Rewrite multi_bench.js to stop pipelining
14 years ago
Matt Ranney
12d2aebb70
Send empty Array for 0 length mb replies instead of null.
14 years ago
Matt Ranney
79511b4499
Fix parser bug after failed EXEC.
14 years ago
Pieter Noordhuis
4815295ed8
Use the buffers in bench.js
Before, the buffers were not used and "foo" was pushed to a list for
every buffer. Also, LRANGE did not use the lists populated by the LPUSH
benchmark and always returned an empty multi bulk response.
14 years ago
Matt Ranney
05e9699817
Fix for null MULTI response when WATCH condition fails.
14 years ago
Paul Carey
5bddbe3d9a
Partial fix for null multi bulk response.
14 years ago
Matt Ranney
1eb3f6a1aa
Add "drain" and "idle" events.
14 years ago
Matt Ranney
e6f7dc5f20
Check for stream.writable before trying to write()
14 years ago
Matt Ranney
95e60006f6
Add subqueries example.
14 years ago
Matt Ranney
81fc8516e4
Update for v0.3.6
14 years ago
Matt Ranney
1387429ca6
Bump version for error message improvement.
14 years ago
Matt Ranney
f91626d110
Send friendlier error event on stream errors.
14 years ago
Matt Ranney
dd866c0649
Take connection count from command line.
14 years ago
Matt Ranney
6bda787181
Bottom spacer.
14 years ago
Matt Ranney
b097bf2ccd
Add bottom spacer.
14 years ago
Matt Ranney
a3c03dcc68
Add all commands from Redis master, not just ones documented on the Redis wiki.
Use lowercase for all command names.
Build RedisClient and Multi prototype at the same time.
14 years ago
Matt Ranney
d51abad43f
Minor wording tweaks.
14 years ago
Matt Ranney
86b2c22c80
Use db 15 for testing. Adapt many fine tests from fictorial's client.
14 years ago
Matt Ranney
ff517f1f2f
Add changelog.
14 years ago
Matt Ranney
6b21fbfb45
Bump version for null MB response fix.
14 years ago
Matt Ranney
ee976bb82c
Add test for BLPOP, tighten up MULTI tests.
14 years ago
Matt Ranney
7a9ae90fcf
sys -> util
Also, only emit "end" once, which was confusing the tests.
14 years ago