前言
原文链接:https://build-your-own.org/redis/
原文作者:James Smith
译者:Cheng
译者述:这个博客是完全没有中文翻译的,再加上redis的原理我确实想了解,在此之前,我只知道它是一个数据结构服务器,还有关于Redis为什么这么快的八股文(因为内存,但面试官肯定不想听这个)。关于C/C++方面,可能有些内容有所谬误,还请指正。
使用C/C++构建你自己的Redis
网络编程,数据结构和C语言底层
介绍
通过从头开始来编写代码来构建互联网的基础软件。 如果你能构建一个Redis服务器,那么你就可以写出任何超越CRUD的软件! 因为它能教会你三项技能。
- 网络编程 更高层次的编程是为多台机器进行编写程序。想想HTTP服务器、RPC*、数据库、分布式系统的方方面面。
- 数据结构 将数据结构应用于实际的业务场景方面,Redis堪称典范。既然能从生产级软件中汲取经验,何必囿于纸上谈兵的理论知识呢?
- C语言 C语言的过去、现在乃至将来都是系统编程和基础软件的基石。它是你通往众多底层项目开发领域的金汤匙。
为什么要从头开始? 查理德·费曼(Richard Feynman)的一句话:
为何选择本书? 真实的Redis项目是一个庞大且凝聚了无数开发者心血的代码库。而本书则为你提纲挈领,化繁为简,一步步带你掌握它的核心要点。
项目源码
https://build-your-own.org/redis/src.tgz
PDF/EPUB电子版与纸质版
本书的网页版可免费阅读,若您认为本书对您有所裨益,欢迎购买。
扩展阅读
我个人选择了一些书籍,对于那些想要从零到一构建一个Redis的开发者而言,具有极高的参考价值。
Beej’s Guide to Network Programming.
这是一本网络编程的“葵花宝典”,内容全面,可作参考。这会是一个很好的补充。
The Linux Programming Interface by Michael Kerrisk.
套接字API只是Linux API接口中的冰山一角。如果您正在为Linux开发应用程序,您可能需要熟悉其他部分,例如IO、线程和进程、信号等其他API接口将是必经之路。
The C Programming Language by K&R.
如果你不会C语言,但还想尝试该项目?无论你是新人还是老手,这本经典著作都能助您快速掌握C语言的精髓。