redis错误:ERR错误的“ set”命令参数数目

Nic*_*viz 0 backend redis node.js server

我在本地Redis服务器上的redis set命令有错误(127.0.0.1:6379)

版本:

npm version : 2.15.0;
node version : 4.4.2;
nodejs verison : 0.10.25;
redis version : 2.7.1;
Run Code Online (Sandbox Code Playgroud)

错误:

events.js:141 throw er; // Unhandled 'error' event
ReplyError: ERR wrong number of arguments for 'set' command at parseError 
(/opt/xxx/xxx/node_modules/redis/node_modules/redis 
parser/lib/parser.js:193:12) at parseType 
(/opt/xxx/xxx/node_modules/redis/node_modules/redis-
parser/lib/parser.js:303:14)
Run Code Online (Sandbox Code Playgroud)

我所有的代码如下:

redis.set("key","value")
Run Code Online (Sandbox Code Playgroud)

在我的本地计算机上,代码运行成功,但是在aws linux计算机上,出现此错误。

var matchedMaps = map.get(publicURIField);
            if(matchedMaps) {
                matchedMaps.forEach(function(matchedMap){
                    var patternToValidate = matchedMap.pattern;
                    var type = matchedMap.type;
                    var tagID = matchedMap.tagID;
                    var patternToCheck = "cs-uri-stem";
                    var patternToSave = "";
                    if(type==1){
                        patternToCheck = "c-referrer";
                    }
                    var regexToFind = new RegExp(patternToValidate.substring(1,patternToValidate.length-1));
                    var matchedPattern;
                    if (regexToFind.test(rawLogParsed[patternToCheck].toString())) {
                        if (matchedMap.regexType=="&"){
                            matchedMap.patterns.forEach(function(patternObject){
                                var key = patternObject.pattern.split("=")[0];
                                var value = rawLogParsed[patternToCheck].toString().split(key)[1];
                                if(rawLogParsed[patternToCheck].toString().split(key)[1].split("&")){
                                    value = rawLogParsed[patternToCheck].toString().split(key)[1].split("&")[0];
                                }
                                patternToSave += key+value+"&";
                            });
                        }else{
                            matchedMap.patterns.forEach(function(patternObject){
                                if(patternObject.pattern.indexOf("*")>-1){
                                    patternObject.pattern = patternObject.pattern.replace(/\*!/g, '.*');
                                }
                                patternToSave += rawLogParsed[patternToCheck].toString().match(patternObject.pattern)+"/";
                            });
                        }
                        patternToSave = patternToSave.substring(0,patternToSave.length-1);
                        var matchedField = publicURIField,matchedPattern = patternToSave
                            ,key = tagID + "_"+userID+"_"+ matchedField + "_" + matchedPattern + "_" + type + "_" + fixedMinuteNumber;
                        if (tagUsageInfo[startKeyForRedis+key] == undefined) {
                            var tagObject = {
                                pattern:matchedPattern,
                                matchedField:matchedField,
                                userID:userID,
                                tagName:matchedMap.tagName,
                                monthNumber:parseInt(mMonthToCheck),
                                minuteNumber: parseInt(fixedMinuteNumber),
                                hourNumber: parseInt(yearMonthDayHourToCheck),
                                dayNumber: parseInt(yearMonthDayToCheck),
                                tagID: tagID,
                                matchedPattern: matchedPattern,
                                totalRequests: 1,
                                totalEgress: parseInt(bytes),
                                totalTransfered: parseInt(bytes),
                                totalRest: parseInt(totalWorld),
                                totalUS: parseInt(totalUS)
                            }
                            if(isIngress){
                                tagObject.totalIngres += parseInt(bytes);
                            }
                            dbclient1.set(startKeyForRedis+"tagUsage_"+key,JSON.stringify(tagObject));
                            tagUsageInfo[startKeyForRedis+"tagUsage_"+key] = startKeyForRedis+key;
                        }
                        else {
                            dbclient1.get(startKeyForRedis+"tagUsage_"+key, function(err, tagObject) {
                                var tagObjectJson = JSON.parse(tagObject);
                                tagObjectJson.totalRequests += 1;
                                tagObjectJson.totalEgress += parseInt(bytes);
                                tagObjectJson.totalTransfered += parseInt(bytes);
                                tagObjectJson.totalRest += parseInt(totalWorld);
                                tagObjectJson.totalUS += parseInt(totalUS);
                                tagObjectJson.totalRequests += 1;
                                if(isIngress){
                                    tagObject.totalIngres += parseInt(bytes);
                                }
                                dbclient1.del(startKeyForRedis+"tagUsage_"+key);
                                dbclient1.set(startKeyForRedis+"tagUsage_"+key, JSON.stringify(tagObjectJson));
                            });
                        }
                    }
                });
            }
Run Code Online (Sandbox Code Playgroud)

有什么帮助吗?

Sni*_*vio 6

1)如果您尝试在Windows上运行Redis设置仅接受两个参数,则会导致Redis版本问题

2)尝试在Linux上使用最新版本的redis,它将起作用