You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Improve server keyspace info in .server_info
This commit is contained in:
28
index.js
28
index.js
@@ -325,20 +325,23 @@ RedisClient.prototype.on_ready = function () {
|
||||
};
|
||||
|
||||
RedisClient.prototype.on_info_cmd = function (err, res) {
|
||||
var self = this, obj = {}, lines, retry_time;
|
||||
var self = this;
|
||||
var obj = {};
|
||||
var lines = res.toString().split("\r\n");
|
||||
var i = 0;
|
||||
var key = 'db' + i;
|
||||
var line, retry_time, parts, sub_parts;
|
||||
|
||||
if (err) {
|
||||
return self.emit("error", new Error("Ready check failed: " + err.message));
|
||||
}
|
||||
|
||||
lines = res.toString().split("\r\n");
|
||||
|
||||
lines.forEach(function (line) {
|
||||
var parts = line.split(':');
|
||||
for (i = 0; i < lines.length; i++) {
|
||||
parts = lines[i].split(':');
|
||||
if (parts[1]) {
|
||||
obj[parts[0]] = parts[1];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
obj.versions = [];
|
||||
/* istanbul ignore else: some redis servers do not send the version */
|
||||
@@ -348,6 +351,19 @@ RedisClient.prototype.on_info_cmd = function (err, res) {
|
||||
});
|
||||
}
|
||||
|
||||
while (obj[key]) {
|
||||
parts = obj[key].split(',');
|
||||
obj[key] = {};
|
||||
while (line = parts.pop()) {
|
||||
sub_parts = line.split('=');
|
||||
if (sub_parts[1]) {
|
||||
obj[key][sub_parts[0]] = +sub_parts[1];
|
||||
}
|
||||
}
|
||||
i++;
|
||||
key = 'db' + i;
|
||||
}
|
||||
|
||||
// expose info key/vals to users
|
||||
this.server_info = obj;
|
||||
|
||||
|
Reference in New Issue
Block a user