在上一篇《mini-redis项目-4-服务端》中,我们实现了mini-redis的服务端,这一篇来实现客户端;
源代码:
系列文章:
- 《mini-redis项目-1-简介》
- 《mini-redis项目-2-存储层》
- 《mini-redis项目-3-连接层》
- 《mini-redis项目-4-服务端》
- 《mini-redis项目-5-客户端》
- 《mini-redis项目-6-测试与示例》
在上一篇《mini-redis项目-4-服务端》中,我们实现了mini-redis的服务端,这一篇来实现客户端;
源代码:
系列文章:
前面几篇文章讲解了mini-redis的存储层、连接层,这一篇在此基础之上继续讲解服务端的实现;
源代码:
系列文章:
上一篇文章 《mini-redis项目-2-存储层》 中讲解了mini-redis数据存储层的实现,这一篇在这个基础之上,讲解连接层的实现;
连接层负责建立服务端和客户端之间的连接,通过tokio框架我们可以异步的处理连接;
源代码:
系列文章:
本篇接上一篇《mini-redis项目-1-简介》,讲解mini-redis存储层的实现;
源代码:
系列文章:
最近看完了tokio,其中tokio官方提供的mini-redis项目非常的好,跟着教程完整的做了一遍,并且对很多地方根据自己的理解重新实现了(比如错误处理、文件组织等);
这里会分多篇文章进行总结,这里是第一篇;
源代码:
系列文章:
tonic 是rust中的一个GRPC客户端和服务端的异步实现,底层使用了tokio的prost
生成Protocol Buffers对应的代码;
本文讲解了如何使用Tonic,并提供了一个包含多个proto文件的项目案例;
源代码:
用过npm的前端同学都知道,可以使用模版仓库去创建一个新的前端项目,这样就不用从零开始配置一大堆乱七八糟的东西了,Rust中也可以使用cargo-generate通过模版创建一个项目;
本文讲解了如何开发一个Rust项目模版,并基于该模版创建一个新的项目;
源代码:
众所周知Rust中的异步async/.await
代码在编译时会被转换为Future+Waker+Executor的事件状态机的执行;
下面我们通过标准库和futures库提供的功能,手写Future的实现,加深对async/.await
编译后Future执行的理解;
源代码:
在C、C++中我们经常会使用#define、#ifdef等预处理指令进行条件编译,这样会提升编译速度、减少编译后文件大小,在某些场景下会非常有用;
例如:某些和具体平台实现相关的代码,在win平台下使用时,其实无需编译linux平台下的代码;
本文通过一个例子讲解了Cargo Features是如何实现的;
源代码:
在上一篇文章《Rust反射之Any》中,我提到了可以使用过程宏来实现类似于反射的功能;
本文就提供了这么个思路和简单的实现;
源代码:
系列文章: