redis中的hmset快速生成空散列

我已经为我的node应用程序写了一个loadtester。 我的节点应用程序使用redis作为后端来共享我的应用程序的不同群集(亚马逊实例)之间的信息。

当我约100请求/秒下面的代码生成null

 redisClient.hmset("visitor:" + userID.toString() + ":" + channel.toString(), { "channel": channel.toString(), "clusterID": Config.clusterID, "name": randomName.toString() }); 

当我然后尝试看看什么内容与hgetall

 "visitor:" + userID.toString() + ":" + channel.toString() 

内容为null

任何想法如何可能发生? 请注意,只有在达到每秒100次或更多的请求后才会发生。

对于我的t1.micro服务器,我使用ElastiCache t1.micro实例

你在等待hmset的callback吗?

它应该是

 var key = "visitor:" + userID.toString() + ":" + channel.toString(); redisClient.hmset(key, { "channel": channel.toString(), "clusterID": Config.clusterID, "name": randomName.toString() }, function(err) { redisClient.hgetall(key, function(err, data) { console.log(data); }); });