编辑推荐
★ 国内首本中文Redis图书全新升级,涵盖Redis 3.0的全新内容
★ 多位业界专家联合推荐
★ 来自一线开发者的实战经验总结
★ 真正零基础入门,深入浅出全面剖析Redis
★ 任务驱动式学习,轻松掌握Redis实战知识
Redis是一个十分热门的内存数据库,它拥有诸多优良特性,已经被越来越多的公司采用,值得每一位Web开发者学习。
本书旨在帮助读者从零开始,一步步地了解Redis,进入Redis的世界。在介绍基础知识的同时,本书还着眼于实践,以帮助读者尽快在实际项目中用上Redis为目标,做到即学即用。书中大部分章节采用了任务驱动的讲解方法,通过虚构的角色小白和宋老师,在介绍知识点前先设定一个实践任务,不仅提高了读者的阅读动力,而且能让读者更轻易地将书中的知识点与实践结合起来。
主要内容
介绍Redis的历史及特性,回答为什么要使用Redis。
讲解如何在开发和生产环境中部署Redis。
通过实践看Redis诸多数据类型的适用场景。
介绍Redis 3.0的哨兵和集群相关特性。
全面介绍管道、事务、持久化和复制等技术。
深度揭秘Redis的存储结构,剖析Redis空间优化方法。
如何基于Redis实现在线用户记录、标签补全和区间查找等实用功能。
使用Redis实现任务队列。
领略Redis脚本的魅力,了解脚本的细节和技巧。
内容简介
本书是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、管道、持久化、优化Redis存储空间等内容,并采用任务驱动的方式介绍了PHP、Ruby、Python和Node.js这4种语言的Redis客户端库的使用方法。
作者简介
李子骅(Luin),北京航空航天大学软件学院2009级本科生,*资深研发工程师。先后工作于街旁网、微软亚洲研究院和楽ニュー株式会社。乐于将自己对技术的感悟与他人分享。GitHub主页https://github.com/luin,博客http://zihua.li。
目录
- 第1章简介
- 1.1历史与发展
- 1.2特性
- 1.2.1存储结构
- 1.2.2内存存储与持久化
- 1.2.3功能丰富
- 1.2.4简单稳定
- 第2章准备
- 2.1安装Redis
- 2.1.1在POSIX系统中安装
- 2.1.2在OSX系统中安装
- 2.1.3在Windows中安装
- 2.2启动和停止Redis
- 2.2.1启动Redis
- 2.2.2停止Redis
- 2.3Redis命令行客户端
- 2.3.1发送命令
- 2.3.2命令返回值
- 2.4配置
- 2.5多数据库
- 第3章入门
- 3.1热身
- 3.2字符串类型
- 3.2.1介绍
- 3.2.2命令
- 3.2.3实践
- 3.2.4命令拾遗
- 3.3散列类型
- 3.3.1介绍
- 3.3.2命令
- 3.3.3实践
- 3.3.4命令拾遗
- 3.4列表类型
- 3.4.1介绍
- 3.4.2命令
- 3.4.3实践
- 3.4.5命令拾遗
- 3.5集合类型
- 3.5.1介绍
- 3.5.2命令
- 3.5.3实践
- 3.5.4命令拾遗
- 3.6有序集合类型
- 3.6.1介绍
- 3.6.2命令
- 3.6.3实践
- 3.6.4命令拾遗
- 第4章进阶
- 4.1事务
- 4.1.1概述
- 4.1.2错误处理
- 4.1.3WATCH命令介绍
- 4.2过期时间
- 4.2.1命令介绍
- 4.2.2实现访问频率限制之一
- 4.2.3实现访问频率限制之二
- 4.2.4实现缓存
- 4.3排序
- 4.3.1有序集合的集合操作
- 4.3.2SORT命令
- 4.3.3BY参数
- 4.3.4GET参数
- 4.3.5STORE参数
- 4.3.6性能优化
- 4.4消息通知
- 4.4.1任务队列
- 4.4.2使用Redis实现任务队列
- 4.4.3优先级队列
- 4.4.4"发布/订阅"模式
- 4.4.5按照规则订阅
- 4.5管道
- 4.6节省空间
- 4.6.1精简键名和键值
- 4.6.2内部编码优化
- 第5章实践
- 5.1PHP与Redis
- 5.1.1安装
- 5.1.2使用方法
- 5.1.3简便用法
- 5.1.4实践:用户注册登录功能
- 5.2Ruby与Redis
- 5.2.1安装
- 5.2.2使用方法
- 5.2.3简便用法
- 5.2.4实践:自动完成
- 5.3Python与Redis
- 5.3.1安装
- 5.3.2使用方法
- 5.3.3简便用法
- 5.3.4实践:在线的好友
- 5.4Node.js与Redis
- 5.4.1安装
- 5.4.2使用方法
- 5.4.3简便用法
- 5.4.4实践:IP地址查询
- 第6章脚本
- 6.1概览
- 6.1.1脚本介绍
- 6.1.2实例:访问频率限制
- 6.2Lua语言
- 6.2.1Lua语法
- 6.2.2标准库
- 6.2.3其他库
- 6.3Redis与Lua
- 6.3.1在脚本中调用Redis命令
- 6.3.2从脚本中返回值
- 6.3.3脚本相关命令
- 6.3.4应用实例
- 6.4深入脚本
- 6.4.1KEYS与ARGV
- 6.4.2沙盒与随机数
- 6.4.3其他脚本相关命令
- 6.4.4原子性和执行时间
- 第7章持久化
- 7.1RDB方式
- 7.1.1根据配置规则进行自动快照
- 7.1.2用户执行SAVE或BGSAVE命令
- 7.1.3执行FLUSHALL命令
- 7.1.4执行复制时
- 7.1.5快照原理
- 7.2AOF方式
- 7.2.1开启AOF
- 7.2.2AOF的实现
- 7.2.3同步硬盘数据
- 第8章集群
- 8.1复制
- 8.1.1配置
- 8.1.2原理
- 8.1.3图结构
- 8.1.4读写分离与一致性
- 8.1.5从数据库持久化
- 8.1.6无硬盘复制
- 8.1.7增量复制
- 8.2哨兵
- 8.2.1什么是哨兵
- 8.2.2马上上手
- 8.2.3实现原理
- 8.2.4哨兵的部署
- 8.3集群
- 8.3.1配置集群
- 8.3.2节点的增加
- 8.3.3插槽的分配
- 8.3.4获取与插槽对应的节点
- 8.3.5故障恢复
- 第9章管理
- 9.1安全
- 9.1.1可信的环境
- 9.1.2数据库密码
- 9.1.3命名命令
- 9.2通信协议
- 9.2.1简单协议
- 9.2.2统一请求协议
- 9.3管理工具
- 9.3.1redis-cli
- 9.3.2phpRedisAdmin
- 9.3.3Rdbtools
- 附录ARedis命令属性
- 附录B配置参数索引
- 附录CCRC16实现参考