从nodejs中的php获取memcache数据

从nodejs中的php获取memcache数据,php,node.js,memcached,Php,Node.js,Memcached,我在nodejs中从memcache获取数据时遇到问题。 首先,我使用php在memcache中设置数据 Php代码: $memcache = new Memcache;<br> $memcache->connect("localhost",11211);<br> $array = array("id"=>"1","name"=>"aaa");<br> $memcache->set("key",$array); var m


我在nodejs中从memcache获取数据时遇到问题。 首先,我使用php在memcache中设置数据 Php代码:

$memcache = new Memcache;<br>
  $memcache->connect("localhost",11211);<br>
  $array = array("id"=>"1","name"=>"aaa");<br>
  $memcache->set("key",$array);
var memcache = require('mem');
var client = new memcache.Client(11211,'localhost');
client.connect();
client.get('key', function(err,result){ 
console.log(result);
});
这里我有个问题…在控制台里

a:2:{s:2:"id";s:1:"1";s:4:"name";s:3:"aa a";}
我的问题是 如何进入控制台名称:aaa? 我只想补充一点:

console.log(result['name']); => show : undefined

请帮助

PHP数据看起来像是在为您自动序列化

与其让这种情况发生,我建议您在插入memcache之前将数组编码为JSON数据,您可以使用node轻松解码memcache

所以不是

$memcache->set("key",$array);
做:

然后在节点中,而不是:

client.get('key', function(err,result){ 
    console.log(result);
});
做:


这将把数据加载到JS对象中。

尝试使用更可移植的格式在系统之间共享数据。例如JSON

$memcache = new Memcache;
$memcache->connect("localhost",11211);
$data = json_encode(array("id"=>"1","name"=>"aaa"));
$memcache->set("key",$data);
我希望这会在memcache中显示为

{ "id" : 1, "name": "aaa" }
然后您应该能够将其提取为JSON:

var memcache = require('mem');
var client = new memcache.Client(11211,'localhost');
client.connect();
client.get('key', function(err,result){ 
    console.log(result);
    var entry = JSON.parse(result);
    console.log(entry.name);
});
{ "id" : 1, "name": "aaa" }
var memcache = require('mem');
var client = new memcache.Client(11211,'localhost');
client.connect();
client.get('key', function(err,result){ 
    console.log(result);
    var entry = JSON.parse(result);
    console.log(entry.name);
});