2012-10-16 37 views

回答

5

我不知道你爲什麼會想這樣做,但這裏有一個簡單的例子:

function parseInfo(info) { 
    var lines = info.split("\r\n"); 
    var obj = { }; 
    for (var i = 0, l = info.length; i < l; i++) { 
     var line = lines[ i ]; 
     if (line && line.split) { 
      line = line.split(":"); 
      if (line.length > 1) { 
       var key = line.shift(); 
       obj[ key ] = line.join(":"); 
      } 
     } 
    } 
    return obj; 
} 
+0

感謝您的答覆......但沒有任何簡單的解決辦法,而不是像上面的解決方法嗎? – user1386776

+0

這是一個簡單的解決方案,它不是一種解決方法。你期望什麼?一個字符串會神奇地解析自己? – freakish

+0

我認爲甚至redis作者都鼓勵人們自己解析它,因爲它是一個相對簡單的字符串解析。 – Mahn

2

您可以使用node-redis-info

npm install redis-info 

用法:

> var parser = require('redis-info'); 
undefined 
> var info = parser.parse(redis_info_str); 
undefined 
> info.fields.redis_version 
2.6.1 
> info.startWith('pubsub') 
[ [ 'pubsub_channels', '2' ], 
    [ 'pubsub_patterns', '0' ] ] 
> info.contains('memory') 
[ [ 'used_memory', '15080416' ], 
    [ 'used_memory_human', '14.38M' ], 
    [ 'used_memory_rss', '21258240' ], 
    [ 'used_memory_peak', '18985904' ], 
    [ 'used_memory_peak_human', '18.11M' ] ]