文章524
标签277
分类67
LevelDB使用示例

LevelDB使用示例

LevelDB 是一个持久化的 k/v 数据库,Chrome浏览器中涉及的 IndexedDB,就是基于 LevelDB 构建而成的;

本文讲解了如何简单的使用 LevelDb,后面也会继续写系列文章对LevelDB的源码进行分析;

源代码:


mini-redis项目-6-测试与示例

mini-redis项目-6-测试与示例

mini-redis项目-5-客户端

mini-redis项目-5-客户端

mini-redis项目-4-服务端

mini-redis项目-4-服务端

mini-redis项目-3-连接层

mini-redis项目-3-连接层

上一篇文章 《mini-redis项目-2-存储层》 中讲解了mini-redis数据存储层的实现,这一篇在这个基础之上,讲解连接层的实现;

连接层负责建立服务端和客户端之间的连接,通过tokio框架我们可以异步的处理连接;

源代码:

系列文章:


mini-redis项目-2-存储层

mini-redis项目-2-存储层

mini-redis项目-1-简介

mini-redis项目-1-简介

最近看完了tokio,其中tokio官方提供的mini-redis项目非常的好,跟着教程完整的做了一遍,并且对很多地方根据自己的理解重新实现了(比如错误处理、文件组织等);

这里会分多篇文章进行总结,这里是第一篇;

源代码:

系列文章:


Rust的GRPC实现Tonic

Rust的GRPC实现Tonic

Rust项目模版

Rust项目模版

用过npm的前端同学都知道,可以使用模版仓库去创建一个新的前端项目,这样就不用从零开始配置一大堆乱七八糟的东西了,Rust中也可以使用cargo-generate通过模版创建一个项目;

本文讲解了如何开发一个Rust项目模版,并基于该模版创建一个新的项目;

源代码:


Rust中Future执行底层探秘

Rust中Future执行底层探秘

众所周知Rust中的异步async/.await代码在编译时会被转换为Future+Waker+Executor的事件状态机的执行;

下面我们通过标准库和futures库提供的功能,手写Future的实现,加深对async/.await编译后Future执行的理解;

源代码: