Redis之父Salvatore Sanfilippo 曾经转述了别人的一句话:“如果把Redis官网的‘谁在使用Redis' 页面改名为‘谁没在使用Redis',那么这个页面的内容一定会精简不少。”#技术派的书架#
为什么Redis这么火?
最重要的原因当然是它的高效,Redis 可以说是史上最快的数据库。但是 Redis 的初学者往往会遭遇以下令人苦恼的困境:
● 目前市场上介绍Redis的相关书籍非常匮乏,很多资源都是英文,若是英文不好,学起来很有难度。因为找不到一本通俗易懂的入门书籍,很多人因此中途放弃。
● 一般的Redis书籍和视频大多只讲授理论知识,没有应用实践案例。由于缺少理论联系实际的机会,初学者往往感觉很枯燥,慢慢不感兴趣。
● Redis版本更新快,新功能多,网上很多资料都是过时的,如果你盲目地自学,就会发现别人永远在你前面,而你一直落后。
那么,Redis初学者如何打破这些困境,玩转Redis呢?
在李子骅大神的最新著作《Redis入门指南 第3版》中,你可以找到答案,真正零基础入门Redis!
我为什么推荐这本书?
▌理由一:真正零基础入门,深入浅出全面剖析Redis
众所周知,Redis是意大利程序员Salvatore Sanfilippo为了解决一个网站的负载问题而开发的。
自2009年Redis诞生,国内的程序员一般都是通过Redis英文官方文档学习Redis,直到《Redis入门指南 第1版》出版,才填补了空白——国内市场上介绍Redis的相关书籍非常匮乏。
《Redis入门指南》可以说是国内第一本推进Redis普及的书,做到了真正的零基础入门,深入浅出全面剖析Redis,给国内的Redis学习者带来了巨大的惊喜:
● 考虑到官方文档知识点太多,初学者真的很难找到要学的知识,作者精心规划了Redis学习路线。从Redis的历史讲起,结合基础与实践,带领读者一步步进入 Redis的世界。
● 作者深入理解Redis英文官方文档,并汇聚多年实战经验,以通俗易懂的中文介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容。读者再也不用苦啃英文大头书。
● 书中大部分章节采用了任务驱动的讲解方法,通过虚构的角色小白和宋老师,在介绍知识点前先设定一个实践任务,不仅提高了读者的阅读动力,而且能让读者更轻易地将书中的知识点与实践结合起来。
● 书中介绍的应用实践案例都是一些典型的应用场景,并在此之上深入介绍了一些Redis原理和优化的内容,相信读者读过之后会对Redis有一个非常全面而又深入的了解。这让Redis初学者能够学有所得、学有所用。
● 这本书的部分章节采用了伪代码来讲解,这种伪代码类似Ruby、PHP,如下图所示。
(本书代码约定示例)
▌理由二:来自一线开发者李子骅的实战经验,多年心血总结
(作者李子骅)
本书作者李子骅(Luin),北京航空航天大学软件学院2009级本科生,随行科技联合创始人。先后工作于街旁网、微软亚洲研究院、纽约时报中文网、阿里巴巴,也担任过石墨文档技术总监。
他热爱互联网,并热衷于各种新技术,对很多开发语言均有涉猎,擅长Node.js与Redis,有多年的Redis使用经验。乐于将自己对技术的感悟与他人分享,你可以在他的个人博客(http://zihua.li)中看到他的技术分享。
(李子骅的个人博客)
他也常在github上托管项目,他的github主页(https://github.com/luin)中的不少项目都收获了大量star。
(李子骅的github主页)
其中最火爆的一个项目star数高达10万。这个项目正是适用于Redis的一款美观、易于使用的Mac数据库管理应用程序medis。
(数据库管理应用程序medis)
▌理由三:基于第2版本进行了新升级,与时俱进推出第3版
2013年出版的《Redis入门指南 第1版》帮助了很多想要学习和了解Redis的读者。
2015年出版的《Redis入门指南 第2版》在第1版坚实的基础上进行了修正和更新,并增加了关于Redis 2.8 版本和3.0版本的新内容,使得这本书更具阅读价值。
如今,距离本书第2版出版虽然已经过去了6年,但《Redis入门指南》的方法论至今不过时,并且作者李子骅对Redis的理解又有了一个全新的认知。
同时,Redis在这期间也发生了巨大的改变。从3.0版到6.2版,Redis的每个重大版本都给日益壮大的开发者群体带来更多激动人心的新功能。
从能更好地胜任消息中间件的流类型,到大大丰富Redis使用场景的模块系统,整个Redis的发展过程就是Redis的开发者与用户良好互动的最佳印证。
根据Stack Oveflow发布的全球开发者调查报告表示,截至2021年,Redis连续4年蝉联最受开发者喜爱的数据库”以及“亚马逊云使用最广泛的数据库两项殊荣。
借此时机,作者与时俱进地推出了《Redis入门指南 第3版》,对这几年中Redis推出的重要功能以及社区生态的变化进行相应更新,浅入深讲解Redis6.0基础与实践知识,希望能将这些新的信息与广大读者分享。
此外,第3版中还新增了前文介绍的基于Redis的数据库管理应用程序medis。
总而言之,无论是打算学习Redis的新手读者,还是想要了解Redis全新特性的Redis使用者,都不应该错过这本新版《Redis入门指南》。
▌理由四:口碑爆棚,多位业界专家联合推荐
这本书得到了诸如李申申、杨海朝、刘昕、吴一飞、刘其帅、田琪等众多业界实力大咖的联合推荐。
作为一本Redis入门手册,这本书的介绍很全面,朴实的语言让工程师能很快上手,即便像知乎这样有不少Redis使用经验的团队,也能从中发现新鲜点,相信它对很多创业团队也会很有帮助。
——李申申,知乎网联合创始人、首席技术官
作为键值存储的Redis具有数据类型丰富和性能表现优异的特点。如果能够熟练地驾驭它,对很多大型应用都很有帮助。新浪作为世界上较大的Redis使用者,体验到了Redis为高并发在线业务带来的好处,但同时也遇到了很多挑战。作为国内推进Redis普及的书,此书比较详细地介绍了Redis入门的基础知识,同时具有一些实践性方面的章节。如果你对Redis感兴趣,推荐你阅读此书,它会为你开启Redis的大门。
——杨海朝,新浪首席数据库架构师
在任何规模、任何类型的服务器项目中,都存在一些适合用Redis存储的数据。而对Redis有了充分了解后,你就能把这个下一代的数据结构服务器用到适合的地方。这本书可以帮助你成为Redis专家。
——刘昕,V2EX.com创始人
Redis作为可持久化的高性能键值存储服务,已经逐步成为各大互联网公司系统开发的选择。本书通过简单朴实的语言,深入浅出地介绍了Redis的各种使用方法和技巧,是一本不可多得的好书。
——吴一飞,腾讯公司高级软件工程师
与传统数据库相比,Redis提供了对多种数据结构的原生支持,在很多场合能够更方便地存储和处理数据。本书以各种实例带领读者走进Redis的世界,展现了Redis的独到之处,非常值得一读。
——刘其帅,豌豆荚后端工程师
近几年Redis在国内的发展势头非常不错,很多公司开始选择Redis作为自己的缓存或小数据量存储方案,但目前市场上介绍Redis的相关书籍却非常匮乏。本书恰好弥补了这一缺口,是一本非常不错的入门和进阶书籍,书中介绍的应用实践案例也都是一些典型的应用场景,并在此之上深入介绍了一些Redis原理和优化的内容,相信读者读过之后会对Redis有一个非常全面而又深入的了解。
——田琪,腾讯公司高级工程师
除此之外,这本书还获得了多个阅读平台的读者的高度评价:
(豆瓣读者对《Redis入门指南 第1版》的评价)
(豆瓣读者对《Redis入门指南 第2版》的评价)
(百度阅读读者的评价)
好评如潮,粉丝众多,太值得收藏,反复学习啦!
2
《Redis入门指南 第3版》该如何读?
▌我适合读这本书吗?
本书的目标读者不仅包括Redis新手,还包括已经掌握Redis使用方法的读者。
对Redis的新手,甚至可能连Redis是什么都没听说过的读者而言,本书将会详细地介绍Redis是什么以及为什么要使用Redis,通过由浅入深且紧贴实践的内容,让读者能够即学即用,以期能让读者从零开始逐步晋升为一个优秀的Redis开发者。
对于有经验的Redis开发者而言,大可以直接跳过已经掌握的内容,只阅读感兴趣的部分,通过本书的大量实例以及细节介绍,也能发现很多新的技巧。为此,本书在每章的引言都简要介绍了本章要讲解的内容,供读者参考。
总的来说,本书并不需要读者有任何Redis的背景知识,不过如果读者有Web后端开发经验或Linux系统使用经验,阅读本书将会更加得心应手。
▌内容和结构
一般来说,学习任何一门知识,如果有正确的学习路线,那么就会有事半功倍的学习效果。为此,作者通过目录,为读者量身打造了Redis的学习路线,只要你能按照书籍的规划认真学习,便可以轻松实现Redis的入门到进阶!
第1章介绍了Redis 的历史与特性,主要回答两个初学者最关心的问题,即Redis 是什么和为什么要使用Redis。以使读者能够快速地对Redis有一个全面的了解。
第2章讲解了如何安装和运行Redis。如果你身旁的计算机没有运行Redis,那么一定不要错过这一章,因为本书后面的部分都需要读者最好能一边阅读一边实践,以提高学习效率。
第3章介绍了Redis的数据类型。本章会带领读者从零开始,一步步地使用Redis构建一个博客系统,旨在帮助读者在学习完本章的内容之后可以直接在自己的项目中上手实践Redis。
第4章引入了一些Redis的进阶知识,比如事务和消息系统等。同样本章还会继续以博客系统为例子,以实践驱动学习。
第5章介绍了如何在各个编程语言中使用Redis, 这些语言包括PHP、Ruby、 Python 和Node.js。其中讲解每种语言时最后都会以一个有趣的例子作为演示,即使你不了解某些语言,阅读这些例子也能让你收获颇丰。
第6章展示了Redis脚本的强大功能。本章会向读者讲解如何借助脚本来扩展Redis,并且会对脚本一些需要注意的地方 (如沙盒、随机结果等)进行着重介绍。
第7章会介绍Redis持久化的知识。Redis持久化包含RDB和AOF两种方式,对持久化的支持是Redis之所以可以用作数据库的必要条件。
第8章详细说明了多个Redis实例的维护方法,包括使用复制实现读写分离、借助哨兵来自动完成故障恢复以及通过集群来实现数据分片。
第9章介绍了Redis安全和协议相关的内容,并向会推荐几个第三方的Redis管理工具。
(《Redis入门指南 第3版》目录)
▌代码
没有代码的技术书不是好技术书!
书中案例基本上都有对应源码,读者按照书中提示操作,就可以领取随书附赠的程序代码,并上手实际操作。
比如,本书的第5章中的每一小节就包含了一个完整的程序,这些程序代码都存放在GitHub上(
https://github.com/luin/redis-book-assets),读者可以在GitHub上查看与下载。
通常来讲,读者最好自己输入这些代码来加深理解,当然如果要先看到程序的运行结果再开始学习也不失为一个好办法。
希望你可以在平时的学习过程中多动手,毕竟,坑是要踩过才是真正属于自己的。
不可错失的好书!
《Redis入门指南 第3版》
作者: 李子骅
▌编辑推荐
● 中文Redis图书全新升级,涵盖Redis 6.0的全新内容
● 多位业界专家联合推荐
● 来自一线开发者的实战经验总结
● 真正零基础入门,深入浅出全面剖析Redis
● 任务驱动式学习,轻松掌握Redis实战知识
Redis是一个十分热门的内存数据库,它拥有诸多优良特性,已经被越来越多的公司采用,值得每一位Web开发者学习。
本书旨在帮助读者从零开始,一步步地了解Redis,进入Redis的世界。在介绍基础知识的同时,本书还着眼于实践,以帮助读者尽快在实际项目中用上Redis为目标,做到即学即用。
图文参考来源:
《Redis入门指南(第3版)》推荐词、前言