编辑推荐

中文Redis图书全新升级,涵盖Redis3.0的全新内容
多位业界专家联合推荐
来自一线开发者的实战经验总结
真正零基础入门,深入浅出全面剖析Redis
任务驱动式学习,轻松掌握Redis实战知识

Redis是一个十分热门的内存数据库,它拥有诸多优良特性,已经被越来越多的公司采用,值得每一位Web开发者学习。
Redis入门指南(第2版)》旨在帮助读者从零开始,一步步地了解Redis,进入Redis的世界。在介绍基础知识的同时,《Redis入门指南(第2版)》还着眼于实践,以帮助读者尽快在实际项目中用上Redis为目标,做到即学即用。书中大部分章节采用了任务驱动的讲解方法,通过虚构的角色小白和宋老师,在介绍知识点前先设定一个实践任务,不仅提高了读者的阅读动力,而且能让读者更轻易地将书中的知识点与实践结合起来。
主要内容
介绍Redis的历史及特性,回答为什么要使用Redis。
讲解如何在开发和生产环境中部署Redis。
通过实践看Redis诸多数据类型的适用场景。
介绍Redis3.0的哨兵和集群相关特性。
全面介绍管道、事务、持久化和复制等技术。
深度揭秘Redis的存储结构,剖析Redis空间优化方法。
如何基于Redis实现在线用户记录、标签补全和区间查找等实用功能。
使用Redis实现任务队列。
领略Redis脚本的魅力,了解脚本的细节和技巧。

内容简介

  《Redis入门指南(第2版)》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法。

作者简介

  李子骅(Luin),北京航空航天大学软件学院2009级本科生,阿里巴巴研发工程师。先后工作于街旁网、微软亚洲研究院和楽ニュー株式会社。乐于将自己对技术的感悟与他人分享。

精彩书评

两年前出版的《Redis入门指南》第1版帮助了很多想要学习和了解Redis的读者。新版的《Redis入门指南》在旧版坚实的基础上进行了修正和更新,并增加了关于Redis2.8版本和3.0版本的新内容,使得《Redis入门指南(第2版)》更具阅读价值。无论是打算学习Redis的新手读者,还是想要了解Redis全新特性的Redis使用者,都不应该错过这本新版《Redis入门指南》。
——黄健宏,《Redis设计与实现》作者

作为一本Redis入门手册,这《Redis入门指南(第2版)》的介绍很全面,朴实的语言让工程师能很快上手,即便像知乎这样有不少Redis使用经验的团队,也能从中发现新鲜点,相信它对很多创业团队也会很有帮助。
——李申申,知乎网联合创始人、首席技术官

作为键值存储的Redis具有数据类型丰富和性能表现优异的特点。如果能够熟练地驾驭它,对很多大型应用都很有帮助。新浪作为世界上较大的Redis使用者,体验到了Redis为高并发在线业务带来的好处,但同时也遇到了很多挑战。作为国内推进Redis普及的书,此书比较详细地介绍了Redis入门的基础知识,同时具有一些实践性方面的章节。如果你对Redis感兴趣,推荐你阅读此书,它会为你开启Redis的大门。
——杨海朝,新浪首席数据库架构师

在任何规模、任何类型的服务器项目中,都存在一些适合用Redis存储的数据。而对Redis有了充分了解后,你就能把这个下一代的数据结构服务器用到适合的地方。这《Redis入门指南(第2版)》可以帮助你成为Redis专家。
——刘昕,V2EX.com创始人

Redis作为可持久化的高性能键值存储服务,已经逐步成为各大互联网公司系统开发的选择。《Redis入门指南(第2版)》通过简单朴实的语言,深入浅出地介绍了Redis的各种使用方法和技巧,是一本不可多得的好书。
——吴一飞,腾讯公司高级软件工程师

近几年Redis在国内的发展势头非常不错,很多公司开始选择Redis作为自己的缓存或小数据量存储方案,但目前市场上介绍Redis的相关书籍却非常匮乏。《Redis入门指南(第2版)》恰好弥补了这一缺口,是一本非常不错的入门和进阶书籍,书中介绍的应用实践案例也都是一些典型的应用场景,并在此之上深入介绍了一些Redis原理和优化的内容,相信读者读过之后会对Redis有一个非常全面而又深入的了解。
——田琪,腾讯公司高级工程师

与传统数据库相比,Redis提供了对多种数据结构的原生支持,在很多场合能够更方便地存储和处理数据。《Redis入门指南(第2版)》以各种实例带领读者走进Redis的世界,展现了Redis的独到之处,非常值得一读。
——刘其帅,豌豆荚后端工程师

目录

第1章 简介1
1.1历史与发展1
1.2特性2
1.2.1存储结构2
1.2.2内存存储与持久化3
1.2.3功能丰富3
1.2.4简单稳定4
第2章 准备7
2.1 安装Redis7
2.1.1在POSIX系统中安装7
2.1.2 在OSX系统中安装8
2.1.3 在Windows中安装9
2.2 启动和停止Redis11
2.2.1 启动Redis12
2.2.2 停止Redis14
2.3 Redis命令行客户端14
2.3.1 发送命令14
2.3.2 命令返回值15
2.4 配置17
2.5 多数据库17
第3章 入门19
3.1热身19
3.2字符串类型21
3.2.1介绍22
3.2.2命令22
3.2.3实践25
3.2.4命令拾遗27
3.3散列类型32
3.3.1介绍33
3.3.2命令34
3.3.3实践37
3.3.4命令拾遗39
3.4列表类型40
3.4.1介绍41
3.4.2命令41
3.4.3实践44
3.4.5命令拾遗46
3.5集合类型48
3.5.1介绍48
3.5.2命令49
3.5.3实践52
3.5.4命令拾遗54
3.6有序集合类型57
3.6.1介绍57
3.6.2命令58
3.6.3实践62
3.6.4命令拾遗63
第4章 进阶67
4.1 事务67
4.1.1 概述68
4.1.2 错误处理69
4.1.3 WATCH命令介绍70
4.2 过期时间72
4.2.1 命令介绍73
4.2.2 实现访问频率限制之一75
4.2.3 实现访问频率限制之二76
4.2.4 实现缓存77
4.3 排序78
4.3.1 有序集合的集合操作78
4.3.2 SORT命令79
4.3.3 BY参数81
4.3.4 GET参数83
4.3.5 STORE参数84
4.3.6 性能优化85
4.4 消息通知85
4.4.1 任务队列86
4.4.2 使用Redis实现任务队列87
4.4.3 优先级队列88
4.4.4 “发布/订阅”模式90
4.4.5 按照规则订阅91
4.5 管道92
4.6 节省空间93
4.6.1 精简键名和键值94
4.6.2 内部编码优化94
第5章 实践103
5.1PHP与Redis103
5.1.1安装104
5.1.2使用方法104
5.1.3简便用法105
5.1.4实践:用户注册登录功能107
5.2Ruby与Redis111
5.2.1安装111
5.2.2使用方法111
5.2.3简便用法112
5.2.4实践:自动完成112
5.3Python与Redis116
5.3.1安装116
5.3.2使用方法116
5.3.3简便用法117
5.3.4实践:在线的好友117
5.4Node.js与Redis123
5.4.1安装123
5.4.2使用方法123
5.4.3简便用法125
5.4.4实践:IP地址查询127
第6章 脚本131
6.1概览131
6.1.1脚本介绍132
6.1.2实例:访问频率限制132
6.2Lua语言133
6.2.1Lua语法134
6.2.2标准库143
6.2.3其他库147
6.3Redis与Lua147
6.3.1在脚本中调用Redis命令148
6.3.2从脚本中返回值148
6.3.3脚本相关命令149
6.3.4应用实例150
6.4深入脚本153
6.4.1KEYS与ARGV153
6.4.2沙盒与随机数154
6.4.3其他脚本相关命令154
6.4.4原子性和执行时间155
第7章 持久化157
7.1RDB方式157
7.1.1根据配置规则进行自动快照158
7.1.2用户执行SAVE或BGSAVE命令158
7.1.3执行FLUSHALL命令159
7.1.4执行复制时159
7.1.5快照原理159
7.2AOF方式160
7.2.1开启AOF160
7.2.2AOF的实现161
7.2.3同步硬盘数据162
第8章 集群165
8.1复制165
8.1.1配置165
8.1.2原理168
8.1.3图结构170
8.1.4读写分离与一致性170
8.1.5从数据库持久化171
8.1.6硬盘复制172
8.1.7增量复制172
8.2哨兵173
8.2.1什么是哨兵174
8.2.2马上上手175
8.2.3实现原理177
8.2.4哨兵的部署180
8.3集群181
8.3.1配置集群182
8.3.2节点的增加185
8.3.3插槽的分配185
8.3.4获取与插槽对应的节点189
8.3.5故障恢复191
第9章 管理193
9.1安全193
9.1.1可信的环境193
9.1.2数据库密码194
9.1.3命名命令194
9.2通信协议195
9.2.1简单协议195
9.2.2统一请求协议197
9.3管理工具197
9.3.1redis-cli198
9.3.2phpRedisAdmin199
9.3.3Rdbtools201
附录A Redis命令属性203
附录B 配置参数索引209
附录C CRC16实现参考213

其他推荐