Как получить конкретные значения из Redis INFO - PullRequest
0 голосов
/ 12 июня 2018

Следующая документация от, https://redis.io/commands/info

Я хочу получить конкретные ключи / значения из возвращенных bulk string

Например:

# Rails Controller Code
redis = Redis.new(host: 'localhost', port: 6379)
render json: redis.INFO

... returns ....

# Server
redis_version:999.999.999
redis_git_sha1:3c968ff0
redis_git_dirty:0
......
......

# Memory
used_memory:167560008
used_memory_human:159.80M
used_memory_rss:174358528
used_memory_rss_human:166.28M
.....

Я хочутолько получить used_memory и т. д.

Возможно ли это без использования твиков Ruby?

ТАКЖЕ как я могу использовать MEMORY DOCTOR для получения информации, учитывая, что я инициализировал Redis в моем контроллере?(например redis = Redis.new(host: 'localhost', port: 6379))

https://redis.io/commands/memory-doctor

Заранее спасибо!

1 Ответ

0 голосов
/ 12 июня 2018

Используйте Hash#slice для получения соответствующих пар ключ-значение

redis = Redis.new(host: 'localhost', port: 6379)
redis.info #=> returns hash
result = redis.info.slice('used_memory_human', 'used_memory_rss')
#=>  {"used_memory_human"=>"1.10M", "used_memory_rss"=>"700416"}
render json: result
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...