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系统的效率得到极大的提高。
香港服务器首选,2H2G首月10元开通。()提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。