学习和使用 Redis 一般可以分为以下四个阶段:

  1. 初学者入门
  2. 进阶实战
  3. 理解原理
  4. 贡献和开发

本文接下来将在四个小节里面分别对这四个阶段进行介绍。

初学者入门

如果你只是对 Redis 感兴趣, 又或者听别人说过一些关于 Redis 的介绍, 但是却并没有实际使用过 Redis , 那么你就处于 Redis 初学者这一阶段。

Redis 初学者可以考虑使用《Redis入门指南(第2版)》作为教程, 并辅以《Redis命令参考》文档作为参考。

《Redis入门指南》是 ioredis 、 medis 等项目的作者 luin 的作品, 该书深入浅出地介绍了 Redis 的主要特性、基本命令以及使用方法, 整本书的篇幅不多, 行文简单, 很容易就能够看完。 初学者可以通过阅读这本书知道 Redis 是什么以及它能做什么。

因为篇幅所限, 《Redis入门指南》并没有对 Redis 的各个命令展开进行介绍, 因此如果读者想要进一步了解某个命令的详细用法和相关信息, 那么可以通过《Redis命令参考》进行查询。

在阅读了《Redis入门指南》和《Redis命令参考》之后, 初学者应该对 Redis 的功能、作用以及使用方法有了基本的了解, 并能够使用 Redis 去解决一些简单的问题。 在此之后, 初学者就可以向下一阶段进发, 考虑如何将 Redis 应用到实际的工作当中。

扩展阅读

除了《Redis入门指南》和《Redis命令参考》之外, 以下列出的一些资料也值得 Redis 初学者去观看和阅读:

  • 《Redis课程》系列视频: http://my.tv.sohu.com/pl/9102138/index.shtml
  • Redis 官方网站上的入门介绍文章(英文,可能需要翻墙访问): http://redis.io/topics/data-types-intro
  • 《What is Redis?》系列文章(英文,可能需要翻墙访问): https://matt.sh/what-is-redis

进阶实战

学习 Redis 的第二个阶段是进阶实战阶段, 处于这一阶段的 Redis 学习者应该对 Redis 有了基本的理解, 熟悉 Redis 各个命令以及各项特性的基本用法, 但还是不太清楚应该如何使用 Redis 去解决自己在工作上遇到的问题。

为此, 处于这一阶段的 Redis 学习者可以通过阅读《Redis实战》一书以及其他 Redis 用户分享的心得来提高自己使用 Redis 的能力。

《Redis实战》一书是 Redis Group 讨论组中的热门发言者 Josiah Carlson 所作, 该书通过实际的例子, 展示了使用 Redis 构建多种不同的应用程序的方法。 处于进阶阶段的 Redis 学习者可以通过阅读该书来学习如何使用 Redis 去构建实际的应用, 然后举一反三, 把书中介绍的程序和方法应用到自己遇到的问题上。

除了《Redis实战》之外, 国内外的很多公司(比如twitter、新浪微博等)都在网上公布了他们使用 Redis 的方法、心得和经验, Redis 学习者可以通过这些分享中了解到更多使用 Redis 的例子, 以及这些公司在使用 Redis 过程中遇到的问题、困难和陷阱, 从而学会如何在实际中更好地使用和管理 Redis 。

实践使用 Redis 的另一个难点是如何在大规模的数据环境中使用 Redis , 要解决这个问题就需要对 Redis 进行扩展: 目前扩展 Redis 常见的技术包括 Redis 自带的复制(replication) 、Sentinel 和 Cluster 功能, 以及 twemproxy 和 codis等项目, Redis 用户可以通过这些技术的相关文档来学习如何使用这些技术。

理解原理

在弄懂了如何在实际中使用 Redis 之后, 我们要考虑的就是如何解决 Redis 在使用过程中引发的问题; 如何优化 Redis 的性能; 如何对 Redis 进行二次开发, 使得它可以符合自己的某些要求; 又或者准备去开发一个自家公司特有的类 Redis 数据库。

为了达到这些目的, 我们必须对 Redis 的运作原理和内部结构有所了解。 要做到这一点, 我们必须深入地研读 Redis 的源码:https://github.com/antirez/redis 。

除了 Redis 源码之外, 一个比较好的学习 Redis 内部原理的资料就是《Redis设计与实现》一书, 并且该书也附带了一个带有注释的 Redis 源码项目。 通过同时阅读书本和带注释的源代码, 读者能够快速地了解到 Redis 的内部构造, 以及各项主要功能的实现原理。

贡献和开发

在了解了 Redis 的原理之后, 我们可以考虑向 Redis 项目贡献代码, 又或者开发自己的类 Redis 数据库。

除了以上两点之外, 我们还可以考虑通过 Redis 最新的可载入模块系统(loadable module system), 以编写模块的方式来为 Redis 添加新功能: http://antirez.com/news/106 。

结语

好的, 关于 Redis 学习资料的介绍就到此结束, 希望这些资料会对正在学习和使用 Redis 的朋友们带来帮助。

利益申明:本文作者是《Redis命令参考》和《Redis实战》的译者,《Redis设计与实现》的作者。

黄健宏(huangz)
2016.5.24

版权声明

本博客中的所有文章均为作者原创,受著作权法律保护,任何人不得在未经授权的情况下转载本博客的文章或将其用于商业活动,违者必究。

Redis 学习路线相关推荐

  1. 深圳java工资一般多少,学习路线+知识点梳理

    1. Redis面试专题 绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知.这里以面试题的形式 ...

  2. Redis该怎么学?其实很简单,这份学习路线+资料+书单我全部贡献出来了!

    前言 这绝对不是一篇水文,进来的兄弟们千万不要白嫖,真香警告⚠️.(点赞!!!) 这篇文章很早前就打算写了,特地留到现在是因为我想把Redis系列的文章全部更完,能让需要的小伙伴们有个系统的栏目学习, ...

  3. python速成要多久2019-8-28_2019最全Python入门学习路线,不是我吹,绝对是最全

    近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多.一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学 ...

  4. 零基础java培训如何规划学习路线

    学习java的同学越来越多,很多小伙伴都想知道零基础如何学习java?如何安排学习路线,零基础java培训如何规划学习路线?那么针对以上问题,今天小编特意分享这篇Java学习指南,希望对那些想学Jav ...

  5. 听听阿里老哥对算法工程师技术学习路线的建议

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 来源丨https://zhuanlan.zhihu.com/p/192633890 前言 知乎 ...

  6. 这可能是东半球最保姆级的后台服务器开发学习路线

    作者 | 编程指北 来源 | 编程指北(id :cs_dev) 前言 这一篇的主题是「Linux C/C++ 服务器/后台开发学习路线」. 这样的文章相信大家都见得不少了,写之前也非常忐忑,能不能和其 ...

  7. 干货!Java 学习路线指南,看这文就够了!

    作者 | 三太子敖丙 来源 | 三太子敖丙(ID: JavaAudition) 自学/学习路线这样的一期我想写很久了,因为一直想写的全一点硬核一点所以拖到了现在,我相信这一期对不管是还在学校还是已经工 ...

  8. 转载:一位资深程序员大牛给予Java初学者的学习路线建议

    一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来 ...

  9. python入门到精通需要学多久-史上最详细python学习路线-从入门到精通,只需5个月时间...

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

最新文章

  1. 华人“军火专家”——黄仁勋
  2. 利用smarty生成静态页的关键代码
  3. 浅谈Promise对象在ReactNative中的使用
  4. 后盾网lavarel视频项目---页面post方式提交之后动态弹出错误信息
  5. 卷积,DFT,FFT,图像FFT,FIR 和 IIR 的物理意义
  6. 使用use index优化sql查询
  7. 使用Python为《围城》做一个图云
  8. 空指针异常,源头没有值
  9. 连接查询(交叉连接,内连接,外连接,自然连接)
  10. 企业常用的RPC框架比较
  11. 英克软件结合oracle,英克医药第三方物流管理软件
  12. 常用EDA软件的license文件结构分析
  13. java 取名字_Java命名规范(新手宝典)
  14. 8位并行左移串行转换电路_单片机试题
  15. 一文详解elasticsearch的索引生命周期管理—rollover+curator—ilm
  16. 常用的软件打包工具Inno Setup和AdvancedInstallerPortable
  17. 最好用的PS一键智能抠图插件,3秒就能扣好一张图
  18. 替代人工操作,模拟浏览器的“行为”
  19. 通信总线传输速率计算
  20. 判断日期是否合法(Java精练版)

热门文章

  1. 问鼎OSPF(5)-内外疾行烽火令,锦绣山河尽囊中
  2. 【转载】火焰图安装使用
  3. 【教师证学习笔记005】中学生发展心理
  4. python pyqt5安装_Win系统PyQt5安装和使用教程
  5. 似然函数,最大似然估计,以及与条件概率,贝叶斯概率区别简要说明
  6. 四轮电磁------电磁循迹位置式PID
  7. 光纤中的多种光学模式芯径_光纤视频收发产品的光模块选型
  8. 网站界面设计应遵循的几个原则(转载)
  9. Android渣本毕业四年,面试小厂面试官说我可以试试大厂
  10. 揭秘!从iphone8的上市看苹果的供应链!