Louis-Philippe Perron
abc647ccb5
exports Multi as commodity
2011-07-04 15:18:03 -04:00
Umair Siddique
769748f473
Now it works with SlowBuffer too.
2011-07-04 06:13:29 +05:00
Vladimir Dronnikov
9a4e51ee40
fix for buffered_writes -- now drain event works
2011-07-01 03:46:50 -04:00
Matt Ranney
891529c06a
Fix bug with optional callbacks for hmset.
2011-06-30 16:13:57 -06:00
Matt Ranney
fa272cf763
authentication retry while server is loading db (danmaz74) [GH-101]
2011-06-30 14:29:15 -06: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
13914295a6
Merge pull request #101 from danmaz74/master
...
Fix bug with authentication and LOADING error response.
2011-06-30 11:19:20 -07:00
Matt Ranney
707c9ab3df
Add static list of commands to those downloaded from redis.io.
2011-06-28 22:48:30 -07:00
Matt Ranney
4b988bdb60
Bug fix for monitor mode. (forddg)
...
Also some whitespace fix for JSHint.
2011-06-12 14:35:21 -10:00
Dave Hoover
e210755b52
Developing the 'somehow' in 'This list [of commands] needs to be updated, and perhaps auto-updated somehow'
2011-06-02 21:12:13 -05:00
unknown
719d4f74cc
Fixed a bug when the client tries to authenticate to the redis server and the server is still loading the database: Now the client tries to authenticate again every 2 seconds until actually authenticated. "connect" is only emitted after authentication if authentication is required.
2011-05-08 19:57:27 +02:00
Matt Ranney
f10ff9e916
Lots of bugs fixed.
...
* connection error did not properly trigger reconnection logic [GH-85]
* client.hmget(key, [val1, val2]) was not expanding properly [GH-66]
* client.quit() while in pub/sub mode would throw an error [GH-87]
* client.multi(['hmset', 'key', {foo: 'bar'}]) fails [GH-92]
2011-04-21 16:48:14 -10:00
Matt Ranney
f624fa6234
Added DISCARD
...
I originally didn't think DISCARD would do anything here because of the clever MULTI interface, but somebody
pointed out to me that DISCARD can be used to flush the WATCH set.
2011-04-07 08:58:01 -07:00
Matt Ranney
2b8b2cbd7f
Added HVALS command
2011-04-06 09:50:29 -07:00
Andy Ray
bbd48a6fac
fix for issue of saving document with buffer AND array on it
2011-03-14 16:02:09 -10:00
Matt Ranney
2fcc947f11
Add MONITOR
command and special monitor command reply parsing.
2011-03-14 15:50:47 -10:00
Matt Ranney
1a14e24faa
Add magical auth command.
...
Authentication is now remembered by the client and will be automatically sent to the server
on every connection, including any reconnections.
2011-02-27 23:10:44 -10:00
Matt Ranney
29e09c1c16
Fix bug in ready check with return_buffers
set to true
.
...
Thanks to Dean Mao and Austin Chau.
2011-02-22 21:10:50 -10: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
0f907401f0
Fix excess memory consumption from Queue backing store.
...
Thanks to Gustaf Sjöberg.
2011-02-11 00:12:00 -10:00
Matt Ranney
efadbc8582
Fix multi/exec error reply callback logic.
...
Thanks to Stella Laurenzo.
2011-02-05 19:54:40 -10:00
Matt Ranney
2d7869261a
Fix bug where unhandled error replies confuse the parser.
2011-01-19 18:14:32 -08:00
nithesh
8787d81abf
Added support for new BIT-related commands.
2011-01-18 17:08:48 -08:00
Matt Ranney
c1b5587e74
Fix bug where subscribe commands would not handle redis-server startup error properly.
2011-01-18 13:56:53 -08:00
Matt Ranney
fc5968c96c
Merge branch 'master' of github.com:mranney/node_redis
2011-01-18 11:42:22 -08: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
9b28851ab0
Remove extra call to EventEmitter constructor.
2010-12-16 16:47:34 -08:00
Matt Ranney
202df58b93
Re-throw callback errors on nextTick
...
Otherwise an error thrown in a callback would be throw on the parser's stack.
2010-12-13 12:46:54 -08:00
Matt Ranney
cfe0df1c3f
Remove warning about missing hiredis. You probably do want it though.
2010-12-08 18:42:07 -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
a5381964d9
Add option to specify whether to return strings or buffers for bulk data
2010-11-30 23:10:02 +01:00
Pieter Noordhuis
4bef57cff0
Try to use hiredis as default reply parser
2010-11-30 22:40:09 +01:00
Pieter Noordhuis
1e698e3fce
Move the reply parser to its own file
2010-11-30 22:29:16 +01: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
Paul Carey
5bddbe3d9a
Partial fix for null multi bulk response.
2010-11-10 10:04:47 -08:00
Matt Ranney
1eb3f6a1aa
Add "drain" and "idle" events.
2010-11-09 13:13:40 -08:00
Matt Ranney
e6f7dc5f20
Check for stream.writable before trying to write()
2010-11-09 12:14:22 -08:00
Matt Ranney
f91626d110
Send friendlier error event on stream errors.
2010-11-03 12:43:18 -07:00
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.
2010-10-30 01:40:31 -07:00
Matt Ranney
7a9ae90fcf
sys -> util
...
Also, only emit "end" once, which was confusing the tests.
2010-10-21 18:13:58 -07:00
Matt Ranney
645a981231
JSLint fixes.
2010-10-20 16:38:47 -07:00
Matt Ranney
85bd648adc
Export RedisClient prototype to support extending.
...
See examples/extend.js for a simple example.
Remove command list from exports while I was in there.
2010-10-05 11:30:57 -07:00
Aivo Paas
3495b60047
Fixed .multi() to convert HGETALL result to an object
2010-10-02 22:00:57 +03:00
Matt Ranney
8356ecfda8
Simplify lowercase command prototype.
...
Suggested by Rasmus Andersson
2010-09-30 09:15:19 -07:00
Matt Ranney
8ec36ae383
Merge remote branch 'Tim_Smart/performance'
2010-09-29 21:32:07 -07:00
Matt Ranney
c970b12c25
Reset all parser state on error.
2010-09-29 21:31:36 -07:00
Tim-Smart
4d70a8de4b
Loop optimizations
2010-09-30 17:18:53 +13:00
Orion Henry
5321a1746f
have the parser try to recover from errors when it has them and communicate this back to the user
2010-09-29 17:10:01 -07:00