2014-09-26 57 views
1

我想将一些用户的信息存储到每个用户的redis中。数据类型使用键值。如何评估rails应用程序中redis键值的内存占用情况?

例如:

$redis.set("user_info:12345", #{some data}) 

有什么办法来评估内存占用?

我认为redis的key和value都会消耗内存,怎么知道内存消耗了多少?

+0

你想获取密钥值的大小或服务器的内存信息? – August 2014-09-26 02:46:13

+0

我想要得到键值的大小。 – pangpang 2014-09-26 04:54:59

回答

1

你可以得到一个键的值的序列长度与DEBUG OBJECT命令:

$redis.set("hello", "world") 
$redis.debug("object", "hello") 
# => "Value at:0x7f86f350a8d0 refcount:1 encoding:raw serializedlength:6 lru:2421685 lru_seconds_idle:13" 

如果要提取这个数字,你可以使用这个表达式:/serializedlength:(\d+)/

size = $redis.debug("object", "hello").match(/serializedlength:(\d+)/)[1].to_i 
# => 6 
+0

[serializedlength:6]是指六个字节? – pangpang 2014-09-26 06:06:08

+0

@liuzxc看起来如此,但该命令的文档非常稀少。 – August 2014-09-26 11:55:45

相关问题