1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-09 00:22:08 +03:00
Files
node-redis/examples/backpressure_drain.js
Matt Ranney 886b3355e1 Bugs fixed:
*  authentication retry while server is loading db (danmaz74) [GH-101]
*  command arguments processing issue with arrays

New features:

*  Auto update of new commands from redis.io (Dave Hoover)
*  Performance improvements and backpressure controls.
*  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.

See `examples/backpressure_drain.js` for more information.
2011-06-30 14:29:58 -06:00

34 lines
809 B
JavaScript

var redis = require("../index"),
client = redis.createClient(null, null, {
command_queue_high_water: 5,
command_queue_low_water: 1
}),
remaining_ops = 10000, paused = false;
function op() {
if (remaining_ops <= 0) {
console.error("Finished.");
process.exit(0);
}
remaining_ops--;
if (client.hset("test hash", "val " + remaining_ops, remaining_ops) === false) {
console.log("Pausing at " + remaining_ops);
paused = true;
} else {
process.nextTick(op);
}
}
client.on("drain", function () {
if (paused) {
console.log("Resuming at " + remaining_ops);
paused = false;
process.nextTick(op);
} else {
console.log("Got drain while not paused at " + remaining_ops);
}
});
op();