文档章节

Redis 学习路线

JackFace
 JackFace
发布于 2016/06/17 17:29
字数 1389
阅读 125
收藏 24

学习和使用 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 的第二个阶段是进阶实战阶段, 处于这一阶段的 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)SentinelCluster 功能, 以及 twemproxycodis 等项目, 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

版权声明

本文转载自:http://blog.huangz.me/diary/2016/how-to-learn-redis.html?hmsr=toutiao.io&utm_medium=toutiao.io&ut...

共有 人打赏支持
JackFace
粉丝 17
博文 51
码字总数 47363
作品 0
库尔勒
程序员
私信 提问
车江毅/DistributedCache

##分支说明## 该分支是基于BSF的基础上开发的分支。 修改内容 1)sdk以插件的形式扩展自BSF。 2)项目命名空间从Dyd.Base.DistributedCache修改为DistributedCache 3) 打包安装包,可以直接被...

车江毅
2015/12/31
0
0
Redis 开源文档《Redis设计与实现》

Redis是运用比较广泛的NoSQL产品之一,目前的稳定版本是2.6.10,包括Github、Instagram、Blizzard、新浪微博等都在产品中大量使用了Redis。其代码基于BSD协议开源,整个项目代码量只有2万多行...

桂荣
2013/03/14
6.9K
21
PHP开发程序员的学习路线

兄弟连PHP培训,简单为大家梳理了每个阶段PHP程序员的技术要求,来帮助很多PHP程序做对照设定学习成长目标。 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操...

xdl刘涛
2016/08/11
20
0
车江毅/BusinessMQ

##分支说明## 该分支是基于BSF的基础上开发的分支。 修改内容 1)sdk以插件的形式扩展自BSF。 2)项目命名空间从Dyd.BaseService.BusinessMQ修改为BusinessMQ 3) 打包安装包,可以直接被第三...

车江毅
2015/10/12
0
0
后端技术栈

Nginx 工作原理和优化、漏洞(下) Nginx 工作原理和优化、漏洞(下) Mysql查询性能优化的心得 前言:之前实习时候做过一阵子的查询优化,那段时间结合阅读《高性能mysql》,有些心得体会,...

掘金官方
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一次生产 CPU 100% 排查优化实践

前言 到了年底果然都不太平,最近又收到了运维报警:表示有些服务器负载非常高,让我们定位问题。 还真是想什么来什么,前些天还故意把某些服务器的负载提高(没错,老板让我写个 BUG!),不...

crossoverJie
8分钟前
1
0
Spring Cloud Alibaba Sentinel 整合 Feign 的设计实现

作者 | Spring Cloud Alibaba 高级开发工程师洛夜 来自公众号阿里巴巴中间件投稿 前段时间 Hystrix 宣布不再维护之后(Hystrix 停止开发。。。Spring Cloud 何去何从?),Feign 作为一个跟 ...

Java技术栈
24分钟前
5
0
虚拟机加密

在超融合的基础设施和虚拟化成为常态的世界里,对加密的要求越来越高,越来越迫切,IT部门需考虑的重大安全问题和方法也浮现了出来。 物理数据中心时代,采取双保险式数据安全方法是相对简单...

linuxCool
28分钟前
2
0
MySQL 主从同步

MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主从后,在A上写数据,另外一台B也会跟着写数据,两者数据实时同步的 MySQL主从是基于binlog的,主上须开启bin...

野雪球
40分钟前
1
0
OSChina 周一乱弹 —— 温柔的人应该这样

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @clouddyy :#每日一歌# 《フィクション-sumika》 《フィクション-sumika》 手机党少年们想听歌,请使劲儿戳(这里) 假期时间干嘛去, @for...

小小编辑
今天
413
9

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部