1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

13 Commits

Author SHA1 Message Date
Matt Ranney
670c256e35 Whitespace and other JSHint changes. 2012-09-10 22:50:54 -07:00
Matt Ranney
66a32f86dc new version of multi_bench that tests more realistic scenarios. 2011-11-13 18:13:28 -10:00
Matt Ranney
3e95c55a03 Fix for [GH-127]
Re-initialize the reply parser for every new connection.  If a connection is terminated,
the parser could be left in a bad state.  After the auto-reconnect magic kicks in, it
tries to reuse the old parser, which will not work.

This change is visible to client programs if you depend on client.reply_parser.name being
set immediately.  It will now only be set after a connection is established.

Thanks to @jhurliman for reporting and @pietern for the fix suggestion.
2011-08-11 11:00:02 -07:00
Matt Ranney
f9e17556d2 Performance improvements and backpressure controls.
Simply and speed up command argument processing logic.
Commands now return the true/false value from the underlying socket write(s).
Implement command_queue high water and low water for more better control of queueing.
2011-06-30 14:12:35 -06:00
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
e0ff3fea10 Revert accidental change of bench size. 2010-12-08 16:29:05 -08:00
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.
2010-12-08 16:15:45 -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
275030148b Rewrite multi_bench.js to stop pipelining 2010-11-30 13:18:00 -08:00
Matt Ranney
dd866c0649 Take connection count from command line. 2010-11-02 17:40:00 -07:00
Matt Ranney
ddcecc5b29 Improvements to recreate redis-benchmark. 2010-10-04 23:25:25 -07:00
Matt Ranney
cb87a9b2b7 Set up connections serially. 2010-10-01 23:12:48 -07:00
Matt Ranney
84bbbde574 WiP for multi_bench 2010-09-28 01:02:10 -07:00