从人生的第一本书《Redis 高手心法》出版,聊一聊我与 Redis 如何结缘

亲爱的读者,你好。见字如面,我是码哥,可以叫我靓仔。

简单自我介绍下:《Redis 高手心法》作者,后端架构师,InfoQ 签约作者,擅长 Redis、MySQL、Kafka Spring Cloud,对云原生微服务架构有深入研究。喜欢用简洁、风趣的语言深入浅出的讲解技术。

6a27edb38604b53c21e38268cfe0ec21.png

在 2021 ~2023 年期间,我在公众号、思否、InfoQ、CSDN、博客园、腾讯开发者社区等平台发表了 40+ 篇 Redis 技术相关文章。

电子工业出版社的张晶老师找到我,希望我能整理出一本关于 Redis 的书籍。

直到 2024 年 8 月 1 号,我人生的第一本书《Redis 高手心法》终于出版了。

01 如何与 Redis 结缘

Redis 是广受欢迎的 NoSQL 数据库,唯快不破是他的特点,官方的性能测试数据更是达到 10w TPS。

不管在互联网大厂、小厂,大项目和小项目中,几乎都会使用 Redis,它成了互联网人的香饽饽。

然而,早在我刚参加工作那几年,在实际工作中,我发现自己只会简单的使用 Sting 类型的 SETGET 指令,对 Redis 整体上没有一个完整的知识系统,更不用说了解底层实现原理了,并不能把 Redis 的威力发挥出来。

甚至遇到 Redis 运行特变慢的场景,还一度怀疑 Redis 是不是吹牛,根本不快。

学习并深入了解 Redis 过程中,才知道自己用错了,比如没有合理使用 Redis 的数据类型去解决特定的场景、持久化策略设置不合理,没有合理设置缓存时间、Bigkey 拖慢整个 Redis 运行….

后来,我就从官方文档深入研究,阅读一些前人写过的书籍,下载源码去探索 Redis 唯快不破的秘密。

对于一门技术,如果只接触了零散的技术点,没有在脑海里建立⼀个完整的知识框架和架构体系,没有系统观,就会很吃力,而且会出现一看好像会,过后就忘记,⼀脸懵逼的情况。

拥有了系统观,你才能有依据、有章法地定位和解决问题。于是就开启了深入学习 Redis 之路,与 Redis 结下不解之缘。

02 我是如何编写这本书的?

我原本以为这会是个轻松的任务,然而实际上,自从签下约稿合同到正式出版,经历了两年之久。

Chaya:码哥,Redis 这么快,你咋就这么慢呢?从牵手恋爱到生娃都没你这么久。

编写书的话,要求严格多了,语言要精准正确,不能存在错别字和语病,内容需要循序渐进有层次感,还要经过出版社老师的多次审核、校正,每一段话和文字都是我们精心「雕刻」的成果。

除此之外,我花了很多时间重新梳理了 Redis 技术架构。

本书基于 Redis 7.0 版本的源码来讲解,并建立了一个完整的 Redis 知识框架,从更深层次的角度挖掘底层实现原理,并尽量用风趣幽默的语言和 158 张图片解释难懂的技术点

d0dbfed4d7ab32359c153460e7f6dbc0.png

⼀起搭建⼀套完整的知识框架, 学会从全局视角整理整个知识体系

03 风趣幽默的语言和精美图片

从 Redis 的第一人称视角出发,拟人故事化方式和诙谐幽默的言语与各路“神仙”对话。

配合 158 张图,由浅入深循序渐进的讲解 Redis 的数据结构实现原理、开发技巧、运维技术和高阶使用,让人轻松愉快地学习。

截取书中部分内容……

466e3099d6779bb16e113a883e3c402f.png 62154f0f072d90611829818e8856b1f5.png

主从库第一次复制过程大体可以分为 3 个阶段:建立连接阶段(准备阶段)、同步数据阶段、发送同步期间接收的新写命令到 slave 阶段。

a79fc80a81ee30cc3cbc5e16c2f9ba19.png

在讲解哨兵集群实现机制的时候,生动形象的用「微信群」来讲解 Redis 如何利用发布/订阅机制实现哨兵通信。

哨兵之间可以互相感知发现,这归功于 Redis 的发布/订阅机制。

当哨兵与 master 建立 连接后,使用发布/订阅机制在特殊的频道发布自己的信息,例如 IP 地址和端口,同时订阅该 频道获取其他哨兵发布的消息。

master 有一个 sentinel:hello 的专用通道,用于哨兵之间发布和订阅消息。

可以比喻 为哨兵利用 master 建立的sentinel:hello 微信群发布自己的消息,同时关注其他哨兵发布的消息。

3725f8cd8245a1877458c5b307cc4501.png

任何哨兵判断 master 主观下线后,都会向其他哨兵发送 is-master-down-by- addr 命令, 其他哨兵收到命令后则根据自己与 master 之间的连接状况分别响应 Y 或者 N,Y 表示赞成, N 表示反对。

如果某个哨兵获得了大多数哨兵的赞成票,就标记 master 为客观下线。

4a3677c45388e56a1ada272d6be47a64.png

新书有幸进入京东热销榜榜首!

a15db641ff15052ebfe4c4646511e48f.png

看下本书的实拍图。

7b22aa83c6eb48ff83f16ebc9b0952e6.png 9111531157e87e57bdb3b570921344c3.jpeg

04 超级品类日优惠

现在新书上市,优惠力度很大,原价 100,现在 5 折优惠,只需要 50 元。再加上京东开启图书超级品类日(8.29~8.30)优惠(满 100 减 30、满 200 减 60、满 300 减 100),现在绝对是下单的最好时机。


往期推荐

微服务架构拆分的 7 大黄金法则

Kafka 为什么这么快的七大秘诀,涨知识了

线程池是什么?线程池与连接池有什么区别?线程池工作原理是什么?

Redis 架构是如何演进么?为什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值