把握关键点,处理Redis应答(处理redis应答)
Redis应答是Redis数据库中最基本的数据单元,它描述一个给定命令的结果。可见,Redis应答的正确处理非常重要。针对此,我们可以采用以下方法,把握关键点,处理Redis应答:
1.确定Redis应答的形式。Redis应答分为四种:简单应答(simple reply)、错误(error)、整数(integer)以及大字符串(bulk-string)。因此,我们需要对不同类型的Redis应答进行区分,以便在处理Redis应答时作出正确的选择。
String ReplyFormat(String reply);
switch(reply){
case: "OK": return "Simple Reply";
break;
case: "-ERR Command Error": return "Error";
break;
case: regexp "^-?\\d+$": return "Integer";
break;
case: regexp "^\\$.\\d+": return "string";
break;}
2.确定Redis应答的参数。每一个Redis应答都是由具体参数组成的,因此,确定Redis应答的参数对于正确处理Redis应答至关重要。当Redis应答的类型为简单应答时,则参数为空;当Redis应答的类型为错误时,参数为由服务器发送的具体出错信息;当Redis应答的类型为整数时,参数为由服务器发送的整数值;当Redis应答的类型为大字符串时,参数为由服务器发送的数据域。
String[] GetParams(String reply)
{ String[] params;
switch (ReplyFormat(reply))
{ case "Simple Reply":
params = new String[0]; break;
case "Error":
params = new String[1]; params[0] = reply.subString(3);
break;
case "Integer": params = new String[1];
params[0] = reply.subString(1); break;
case "string": params = new String[2];
params[0] = reply.subString(2); params[1] = reply.subString(1, reply.length()-2);
break; }
return params;
}
3.按照Redis应答的参数,正确处理Redis应答。正确处理Redis应答有两个原则:一是根据Redis应答的类型,进行不同的处理;二是根据Redis应答的参数,进行不同的处理。在实际操作中,我们可以采用if-else结构来进行处理:
if (ReplyFormat(reply) == "Simple Reply")
{ // ...
}else if (ReplyFormat(reply) == "Error")
{ // ...
}else if (ReplyFormat(reply) == "Integer")
{ // ...
}else if (ReplyFormat(reply) == "string")
{ // ...
}
以上是把握关键点,处理Redis应答的方法。通过以上步骤,我们可以正确处理Redis应答,从而使Redis系统的效率得到极大的提高。