大家好,欢迎来到IT知识分享网。
2.客户端通信协议
几乎所有的主流编程语言都有redis的客户端(http://redis.io/clients), 不考虑非常流行的原因,如果站在技术的角度看原因有两个:第一,客户端和 服务端之间的通信协议在TCP协议之上构建的。第二,redis指定了RESP (Redis Serialization Protocol ,redis序列化协议)实现客户端和服务端的正常 交流,这种协议简单高效,既能被机器解析,又容易被人识别。
3.redis返回结果格式
redis返回结果类型分为以下五种。 状态回复:在resp中第一个字节为"+" 错误回复:在resp中第一个字节为:"-" 字符串回复:在resp中第一个字节为"$" 多条字符串回复:在resp中第一个字节为:"*" --使用nc连接redis,操作返回OK; [root@oracle1 ~]# nc 192.168.1.7 6379 set hello world +OK sethx -ERR unknown command `sethx`, with args beginning with: sethx命令不存在,返回-减号和错误信息。 incr counter :1 --整数回复:返回结果是整数时,返回结果就是":" get hello $5 world --返回结果是字符串。 mset java jedis python redis-py +OK mget java python *2 $5 jedis $8 redis-py --返回多个字符串。 无论是字符串回复还是多条字符串回复,如果有nil值,那么会返回$-1; get not_exists_key $-1 --批量操作中有一条为nil值的结果。 mget hello java not_exists_key *3 --参数个数 $5 --第一个值的长度 world --第一个值 $5 --第二个值的长度 jedis --第二个值 $-1 --第三个值不存在。 --不存在的就是返回$-1; resp协议: *参数个数 $x :第一个参数的长度 参数的值 $x :第二个参数的长度 参数的值 有了resp提供的发送命令和返回结果的协议格式,各种编程语言可以利用其 来实现相应的redis客户端。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/131163.html