一本详细介绍使用Redis应用实例的书:
书中包含32 个精挑细选的经典Redis 应用实例,如 缓存、锁、计数器、消息队列、自动补全、社交关系、排行榜、先进先出队列等,这些实例无一不是我们日常开发中经常会遇到的,而且往往也是网上咨询最多的。
本书将从内部组件、外部应用和数据结构3个方面为读者介绍Redis常见、经典的用法与实例,并且所有实例均附有完整的Python代码,方便读者学习和参考。全书分3个部分:第一部分讲内部组件,介绍的实例通常用于系统内部,如缓存、锁、计数器、迭代器、等,这些都是很多系统中不可或缺的部分;第二部分讲外部应用,介绍的实例都是一些日常常见的、用户可以直接接触到的应用,如直播弹幕、社交关系、排行榜、分页、地理位置等;第三部分讲数据结构,介绍的实例是一些使用Redis实现的常见数据结构,如先进先出队列、栈、和矩阵等。本书希望通过展示常见的Redis应用实例来帮助读者了解使用Redis解决各类问题的方法,并加深读者对Redis各项命令及数据结构的认识,使读者真正成为能够使用Redis解决各类问题的Redis专家。
本书适合对Redis有基本了解且想要进一步掌握Redis及键值数据库具体应用的技术人群,是理想的Redis技术进阶读物。
本书内容:
本书通过大量 Redis 应用实例来展示 Redis 的经典用法与用例,全书分为 3 个部分,共 32 章。
第一部分讲内部组件。这个部分介绍的实例通常用于系统内部,如缓存、锁、计数器、 迭代器、速率限制器等,这些都是很多系统中不可或缺的部分。通过学习如何使用 Redis 构建这些组件,并使用它们代替系统原有的低效组件,读者将能够大幅地提升系统的整体 性能。
第二部分讲外部应用。这个部分介绍的实例都是一些日常常见的、用户可以直接接触到的 应用,如直播弹幕、社交关系、排行榜、分页、地理位置等。通过学习如何使用 Redis 构建这 些应用,读者将能够进一步地了解到 Redis 各个数据结构和命令的强大之处,还能够在实例应用已有功能的基础上,按需扩展出自己想要的其他功能。
第三部分讲数据结构。这个部分介绍的实例是一些使用 Redis 实现的常见数据结构,如先 进先出队列、栈、优先队列和矩阵等。在需要快速、可靠的内存存储数据结构时,这些数据结 构可以作为其他程序的底层数据结构或者基本构件使用。
除少数章引用了其他章的代码或内容之外,本书的大部分章都自成一体、可以独立阅读, 读者可以按需阅读自己感兴趣的任意章。
当然,如果读者只是想要学习 Redis 的多种使用方法,并无特别喜好,也可以像阅读普通 教程一样,按顺序阅读本书的每一章。本书基于难度和内容详略等因素对各章的顺序做了编排 和优化,力求为读者带来流畅的阅读体验。
目标读者
阅读本书需要读者对 Redis 有一定的了解,并且熟悉 Redis 各个命令的基本语法。
因为本书关注的是如何使用 Redis 命令实现各种应用,而不是详细介绍某个或某些 Redis 命令的具体语法,所以刚开始学习 Redis 或者对 Redis 命令的语法并不熟悉的读者需要在阅读 本书的过程中自行查找并学习书中提到的命令。相信这种边做边学、学以致用的方式将有助于读者快速、有效地掌握 Redis 命令及其用法,从而成为熟练的 Redis 使用者。
书中所有实例程序均使用 Python 编程语言编写,程序的风格以简单易懂为第一要务,基本 上没有用到 Python 的高级特性。任何学过 Python 编程语言的读者都应该能很好地理解书中的 代码,而没有学过 Python 编程语言的读者可以把这些朴素的代码看作,以此来理解程序 想要完成的工作。
本书适合任何想要学习 Redis 应用构建方法和使用 Redis 解决实际问题的人,也可以作为 Redis 学习者在具备一定基础知识之后的进阶应用教程。
关注核心原理而非细枝末节
本书聚焦实战,书中展示的各种实例无一不来源于实际的编程问题,但考虑到现实中的程 序往往包含大量无关的逻辑和细节,在书中事无巨细地展示它们除模糊焦点和浪费篇幅之外, 不会有其他任何好处。
举个例子,一个现实中的程序可能由数千行代码和数十个 API 组成,但如果仅在 讲消息队列的第 14 章中就包含如此大量的代码和 API,那么本书的篇幅将膨胀至让人无法接受 的程度。
为了解决这个问题,本书采取了算法书介绍算法时的策略:不罗列和介绍每种应用可能包 含的全部 API,而是精挑细选出一组关键、核心的 API,然后用简洁精练的代码在书中实现它 们,配上合理的描述和解释,力求让读者尽可能地理解这些核心 API 的实现原理。一旦读者弄 懂了这些核心 API,就可以根据自己的需求移植这些应用,并在此基础上举一反三,为应用扩 展出自己想要的任何 API。
因篇幅问题不能全部显示,请点此查看更多更全内容