2014-09-26 66 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

相關問題