首页 > 数据库 >Redis学习之旅(1)

Redis学习之旅(1)

时间:2023-01-17 23:33:38浏览次数:38  
标签:问题 场景 之旅 Redis 主线 学习 缓存 维度

1、学习路线

​ 从这章开始,我们开始系统的学习redis,说白了,就是希望花很少的时间掌握更丰富的知识和经验,解决更多的问题,这就要我们能够抓住主线,在自己的脑海中绘制一幅Redis全景知识图,这完全是可以实现的。
从学习路线来说我们包括“两大维度,三大主线”
“两大维度”就是指系统维度和应用维度,“三大主线”也就是指高性能,高可靠和高可扩展(可以简称为 “三高”)
首先,从系统维度上说,需要了解Redis的各项关键技术的设计原理,这些可以作为我们判断和处理问题打下坚实的基础,而且,我们可以从中掌握一些优雅的系统设计规范,例如run-to-complete模型,epoll网络模型,这些可以应用到后续的系统开发实践中。
这里有一个问题,Redis作为庞大的键值数据库,可以说遍地都是知识,一抓一大把,我们怎能快速的知道学习那些?其实我们可以从“三大主线”入手

按照这样的维度和主线,我们就有了一个结构化的知识体系,当我们遇见问题时,可以按图索骥,快速找到影响这些问题的关键因素。
其次,在应用维度上,我们可以按照两种方式学习:“应用场景驱动”和“典型案例驱动”,一个是“面”,一个是“点”的掌握。
对于应用场景驱动来说,缓存和集群是Redis的两大广泛的应用场景,在这些场景中,本身就具有一条显示的技术链,比如提到缓存,有缓存机制,缓存替换,缓存异常等一连串的问题。
不过,并不是所有的东西都适合采用这种方式,比如说Redis丰富的数据类型,导致Redis有很多零碎的应用场景,只有特定的业务场景下(比如亿级访问压力场景)才会出现,并不是普遍现象,所以,我们也比较难于梳理出结构化的体系,这个时候就可以使用“典型案例驱动”的方式学习了,我们可以重点解读一些对Redis的“三高”特性影响较大的使用案例。
最后,我在极客网上课程学习中有个老师分享的Redis各大典型问题,同时结合相关的技术点,画了一张Redis的问题画像图,无论我们遇到什么问题,都可以哪出这张图,快速的按照问题来查找对应的Redis主线模块,然后再进一步定位到相应的技术点上。
举个例子,如果我们遇到了Redis的相应变慢问题,对照着这张图,就可以发现,这个问题和Redis的性能主线相关,而性能主线又和数据结构,异步机制,RBD,AOF重写相关,找到了影响的因素,解决起来就很容易了。

(1)高性能主线,包括线程模型,数据结构,持久化,网络框架;
(2)高可靠主线,包括主从复制,哨兵机制;
(3)高可扩展性主线,包括数据分片,负载均衡。

​ 按照这样的维度和主线,我们就有了一个结构化的知识体系,当我们遇见问题时,可以按图索骥,快速找到影响这些问题的关键因素。
其次,在应用维度上,我们可以按照两种方式学习:“应用场景驱动”和“典型案例驱动”,一个是“面”,一个是“点”的掌握。
对于应用场景驱动来说,缓存和集群是Redis的两大广泛的应用场景,在这些场景中,本身就具有一条显示的技术链,比如提到缓存,有缓存机制,缓存替换,缓存异常等一连串的问题。
不过,并不是所有的东西都适合采用这种方式,比如说Redis丰富的数据类型,导致Redis有很多零碎的应用场景,只有特定的业务场景下(比如亿级访问压力场景)才会出现,并不是普遍现象,所以,我们也比较难于梳理出结构化的体系,这个时候就可以使用“典型案例驱动”的方式学习了,我们可以重点解读一些对Redis的“三高”特性影响较大的使用案例。
最后,我在极客网上课程学习中有个老师分享的Redis各大典型问题,同时结合相关的技术点,画了一张Redis的问题画像图,无论我们遇到什么问题,都可以哪出这张图,快速的按照问题来查找对应的Redis主线模块,然后再进一步定位到相应的技术点上。
举个例子,如果我们遇到了Redis的相应变慢问题,对照着这张图,就可以发现,这个问题和Redis的性能主线相关,而性能主线又和数据结构,异步机制,RBD,AOF重写相关,找到了影响的因素,解决起来就很容易了。

标签:问题,场景,之旅,Redis,主线,学习,缓存,维度
From: https://www.cnblogs.com/zhang1995/p/17058935.html

相关文章

  • JavaScript学习笔记—面向对象
    1.类的简介类是对象的模板,可以将对象中的属性和方法直接定义在类中,定义后,就可以直接通过类来创建对象。通过同一个类创建的对象,成为同类对象可以用instanceof来检查......
  • Redis
    RedisTemplatetimeunit时间单位......
  • java学习日记
    day001 day12xmind总结                                 21阶段性总结 ......
  • Redis学习之旅(1)
    1、学习路线从这章开始,我们开始系统的学习redis,说白了,就是希望花很少的时间掌握更丰富的知识和经验,解决更多的问题,这就要我们能够抓住主线,在自己的脑海中绘制一幅Redis全......
  • 学习笔记——Servlet底层源码分析;Servlet接口;ServletConfig接口;
    2023-01-17 一、Servlet底层源码分析1、Servlet结构图   说明:HttpServlet继承了GenericServlet类,GenericServlet实现了“ServletConfig”和“Servlet”两个接口,......
  • Redis学习
    Redis使用场景最新N个数据通过List实现按自然时间排序的数据排行榜,TopN利用zset(有序集合)时效性的数据,比......
  • 学习记录-访问者模式
    访问者模式在访问者模式(VisitorPattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式......
  • 学习笔记——架构之路
    2023-01-13一、基本功(1)工程结构管理掌握企业环境的搭建和管理(2)java开发规范P3C开发规约(3)高并发及网络编程需要考虑性能瓶颈(4)底层源码分析二、互联网常用技术——......
  • 新概念2册L6学习笔记
    L6PercyButtons本章词汇与讲解callv.此处表短暂的访问某地或某人let'scallonAda#拜访某人时用介词On搭配,否则let'scallAda容易理解为给Ada打电......
  • 渗透学习中可能用的网址——漏洞查询类
    这是一些个人认为挺有用的网站,其网站背后的故事我不知道,也不想说只列网址,只说用法 1.Exploitdatabase:ExploitDatabase-ExploitsforPenetrationTesters,Researc......