关于redis:新书介绍-Redis核心原理与实践

大家好,明天给大家介绍一下我的新书 —— 《Redis外围原理与实际》。
后端开发的同学应该对Redis都不生疏,Redis因为性能极高、功能强大,已成为业界十分风行的内存数据库。

《Redis外围原理与实际》这本书深刻地剖析了Redis罕用个性的外部机制与实现形式,大部分内容源自对Redis源码的剖析,并从中总结出实现原理。通过浏览本书,读者能够疾速、轻松地理解Redis的外部运行机制。

为什么写这本书?

我始终心愿从源码层面深入分析一个C语言实现的分布式系统程序。起因如下:
(1)C语言能够说是最靠近低级语言的开发语言,剖析C语言程序,能够让咱们更深刻了解操作系统底层常识。
(2)随着互联网行业倒退,对后端系统高可用,高性能的要求越来越高,分布式系统也越来越风行。剖析一个分布式系统的设计与实现,对咱们的工作、学习都有很大帮忙。

于是,我便浏览学习了Redis源码,并编写了《Redis外围原理与实际》这本书。
为什么抉择Redis呢?因为Redis是一个典型的“小而美”的程序。
Redis实现简略,源码十分优雅简洁,浏览起来并不吃力,而且Redis功能齐全,涵盖了数据存储,分布式,音讯流等泛滥个性,十分值得深刻学习。
通过写作这本书,我对Redis,Unix编程,分布式系统、存储系统都有了更进一层的了解,再学习其余相干的零碎(如Mysql、Nginx,Kafka),也能够触类旁通,举一反三。心愿这本书也能够帮忙读者百尺竿头,更进一步。

本书构造

第一局部次要剖析了Redis中字符串、散列、列表、汇合,有序汇合这五种数据类型的编码格局。
编码格局,即数据的存储格局,对于数据库,数据的存储格局至关重要,如关系型数据库的行式存储和列式存储。而Redis作为内存数据库,对于数据编码的总体设计思维是:最大限度的“以工夫换空间”,从而最大限度地节俭内存。
这一部分内容详细分析了Redis对内存的应用如何达到“斤斤计较”的水平。

第二局部剖析了Redis的外围流程,包含Redis事件机制与命令执行过程。
Redis利用IO复用模型,实现了本人的事件循环机制,而Redis正在由该事件机制驱动运行(很多近程服务程序都是应用相似的架构,如Nginx,Mysql等)。
Redis事件机制设计优雅,实现简略,并且性能卓越,能够说是“化繁为简”。

第三局部剖析了Redis长久化与复制机制。尽管Redis是内存数据库,但依然最大限度保障的数据的可靠性。
不论是文件长久化,还是从节点复制,核心思想都是一样的,通过将数据复制到多个正本中,从而放弃数据安全。
这部分内容分析了RDB、AOF长久化机制,主从节点复制流程等内容,向读者展现了Redis数据是如何“不翼而飞”的。

第四局部剖析了Redis分布式架构。这部分内容从风行的分布式算法Raft算法登程,剖析Sentient如何监控节点,Cluster集群如何实现数据分片,反对动静新增、删除集群节点,以及它们的“拿手好戏”——故障转移。
分布式系统经常让我联想到一个乏味的词,铁索连舟(将集群节点设想为”舟“,节点之间的网络连接设想为”索“)。

第五局部剖析了Redis中的高级个性,包含Redis事务、非阻塞删除、ACL权限管制列表、Tracking机制、Lua脚本、Module模块、Stream音讯流等内容,并且提供了具体的应用案例,帮忙读者循序渐进,由浅到深地进行学习了解。
Redis为各种高性能,高可用场景提供了十分全面的反对,能够说是”无所不包“。

本书特点

本书深入分析Redis实现原理,并不是Redis入门书。为了尽量升高本书浏览难度,本书总结了Redis各外围性能的实现机制,提取Redis外围代码(本书会尽量避免沉积代码),并以适量图文,对Redis源码以及实现原理进行详细分析,向读者展现Redis外围性能的设计思维,实现流程。
本书尽管大部分内容基于Redis源码剖析,然而并不简单,即便你只是简略理解C语言的根底语法,也能够轻松读懂。

举荐理由

  • 新版本:基于Redis 6.0.9,并剖析了Redis新个性,如Redis 6的ACL、Tracking、IO线程等机制。
  • 重实际:本书在对应知识点的根底上提供了具体的利用示例,帮忙读者由浅到深地学习和了解Redis新个性。
  • 易把握:本书总结了Redis各个外围性能的实现原理,并以适量图文、丰盛示例,对Redis源码及其实现原理进行详细分析,循序渐进地向读者展现Redis外围性能的设计思维和实现流程。读者也能够联合本书,自行浏览Redis源码。
  • 内容丰盛:本书不仅剖析了Redis的性能,还由Redis源码延展了如下两方面内容:
    (1)具体介绍Redis中应用到的Unix机制,包含Unix网络编程、过程(线程)的利用等内容,并通过源码展现Redis如何应用这些Unix机制。
    (2)深入分析Redis如何实现一个分布式系统,次要是Sentinel、Cluster机制如何实现一个高可用的分布式系统。

因为我能力无限,书中不免有脱漏或谬误,若您在浏览本书的过程中有任何问题或者倡议,欢送大家沟通交流。我会对您提出的问题、倡议进行梳理与反馈,并在本书后续版本中及时做出勘误与更新。

通过本书编辑批准,我后续会在集体技术公众号(binecy)公布书中局部章节内容,作为书的预览内容,欢送大家查阅,谢谢。

京东链接
豆瓣链接

【腾讯云】轻量 2核2G4M,首年65元

阿里云限时活动-云数据库 RDS MySQL  1核2G配置 1.88/月 速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据