如何从Redis INFO获取特定值

时间:2018-06-12 07:18:32

标签: ruby-on-rails redis

来自join

的文档

我想从返回的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调整?

ALSO 我如何使用MEMORY DOCTOR获取信息,因为我已在控制器中初始化了Redis? (例如redis = Redis.new(host: 'localhost', port: 6379)

https://redis.io/commands/info

提前致谢!

1 个答案:

答案 0 :(得分:1)

使用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