Я использую клиент node_redis и хочу отслеживать объем памяти, который в настоящее время используется Redis :
const redis = require('redis');
const redisClient = redis.createClient();
setInterval(() => {
// add much data to redis, then:
console.log(redisClient.server_info.used_memory);
}, 1000);
Это регистрирует одинаковый объем памяти для каждого интервала. Однако, если я использую команду redis-cli «info», я вижу, что объем памяти увеличивается.
Единственное решение, которое я придумал, - это создавать нового клиента каждый раз, когда я хочу проверить память:
const redis = require('redis');
setInterval(() => {
// add much data to redis, then create new client to watch memory:
const redisClient = redis.createClient();
console.log(redisClient.server_info.used_memory);
redisClient.quit();
}, 1000);
Однако это не кажется правильным способом сделать это. Есть ли способ «обновить» информацию used_memory без создания нового клиента каждый раз?
redisClient.info()
? - person freakish   schedule 01.11.2018redisClient.info()
просто возвращаетtrue
- person Junker   schedule 01.11.2018redisClient.info(function(err, res) { console.log(res); });
. - person freakish   schedule 01.11.2018res
- это просто огромная строка, содержащая ту же информацию, что и команда redis-cli info. Не уверен, как мне получить доступ к значению used_memory из этой строки. Я мог бы попробовать регулярное выражение ... - person Junker   schedule 01.11.2018