原文:Golang 实现 Redis(2): 实现 Redis 协议解析器

本文是 用 Golang 实现一个 Redis 系列文章第二篇,本文将分别介绍Redis 通信协议 以及 协议解析器 的实现,若您对协议有所了解可以直接阅读协议解析器部分。 Redis 通信协议 Redis 自 . 版本起使用了统一的协议 RESP REdis Serialization Protocol ,该协议易于实现,计算机可以高效的进行解析且易于被人类读懂。 RESP 是一个二进制安全的文 ...

2019-11-24 17:11 0 668 推荐指数:

查看详情

Golang 实现 Redis(1): Golang 编写 Tcp 服务

Golang 作为广泛用于服务端和云计算领域的编程语言,tcp socket 是其中至关重要的功能。无论是 WEB 服务还是各类中间件都离不开 tcp socket 的支持。 Echo 服务 拆包与粘包 优雅关闭 与早期的每个线程持有一个 socket 的 block ...

Sun Jun 23 06:20:00 CST 2019 1 3498
JSON解析器实现(C++)

JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition ...

Mon Jul 27 04:50:00 CST 2015 1 7143
简单语法解析器实现参考

  有时候,我们为了屏蔽一些底层的差异,我们会要求上游系统按照某种约定进行传参。而在我们自己的系统层则会按照具体的底层协议进行适配,这是通用的做法。但当我们要求上游系统传入的参数非常复杂时,也许我们会有一套自己的语法定义,用以减轻所有参数的不停变化。比如sql协议,就是一个一级棒的语法,同样是调用 ...

Wed Oct 07 03:28:00 CST 2020 0 732
Golang 实现 Redis(5): 使用跳表实现 SortedSet

本文是使用 golang 实现 redis 系列的第五篇, 将介绍如何使用跳表实现有序集合(SortedSet)的相关功能。 跳表(skiplist) 是 Redis 中 SortedSet 数据结构的底层实现, 跳表优秀的范围查找能力为ZRange和ZRangeByScore等命令提供了支持 ...

Sat May 09 15:58:00 CST 2020 1 1467
Golang 实现 Redis(6): 实现 pipeline 模式的 redis 客户端

本文是使用 golang 实现 redis 系列的第六篇, 将介绍如何实现一个 Pipeline 模式的 Redis 客户端。 本文的完整代码在github.com/hdt3213/godis/redis/client 通常 TCP 客户端的通信模式都是阻塞式的: 客户端发送请求 -> ...

Tue Nov 24 16:37:00 CST 2020 4 1102
调用wireshark(二):调用协议解析器

上文【调用wireshark(一):初次尝试 http://www.cnblogs.com/zzqcn/archive/2013/05/11/3072362.html 】已经介绍了调用wireshark的原理,并给出一个简单示例。本文要给出真正调用wireshark协议解析函数的方法 ...

Sun May 12 01:10:00 CST 2013 1 5816
实现自定义的参数解析器——HandlerMethodArgumentResolver

1.为什么需要自己实现参数解析器 我们都知道在有注解的接口方法中加上@RequestBody等注解,springMVC会自动的将消息体等地方的里面参数解析映射到请求的方法参数中。 如果我们想要的信息不完全是来自消息体等地方,比如说一部分是消息体,一部分是消息头,甚至一部分从配置中获取 ...

Sun Dec 01 06:55:00 CST 2019 1 356
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM