Day774.能向 Redis 学到什么 -Redis 核心技术与实战

Posted 阿昌喜欢吃黄桃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day774.能向 Redis 学到什么 -Redis 核心技术与实战相关的知识,希望对你有一定的参考价值。

能向 Redis 学到什么

Hi, 我是阿昌,今天学习记录的是关于能向 Redis 学到什么

大多数人人都会觉得,就是掌握具体的原理,进行实战,并且学习别人的经验,解决自己在实际工作中的问题。

比如说,学习 Redis 时,会把它用在缓存分布式锁数据集群等业务场景中,这就需要掌握关键实践技巧、常见问题和应对方法,这也是这么多文章的聚焦点。

但是,这只是学习技术的第一个层面。当对技术的认识和积累达到一定程度后,就应该“向技术致敬”。所谓的致敬,就是向技术学习,来解决在生活中遇到的问题。

这是第二个层面。这背后的道理其实非常朴素:每一项优秀技术都是一些精华思想的沉淀成果,向技术学习,其实就是向优秀的思想学习。

一个理念:一个优秀的计算机系统设计本身就包含了不少人生哲学。


一、向 Redis 单线程模式学习,专心致志做重要的事

Redis 的最大特点是,这是 Redis 在设计之初就设立的目标。

而能成为某项技术的高手、某个技术方向的大牛,通常是给自己设立的目标。

Redis 实现“快”这个目标的关键机制就是单线程架构

单线程架构就给提供了一个很好的做事方式:

专心致志做一件事,把事情做到极致,是达到目标的核心要素

在 Redis 的设计中,主线程专门负责处理请求,而且会以最快的速度完成

对于其他会阻碍这个目标的事情(例如生成快照、删除、AOF 重写等),就想办法用异步的方式,或者是用后台线程来完成。

在介绍 6.0 版本时,提到,Redis 特意把请求网络包读写和解析也从主线程中剥离出来了,这样主线程就可以更加“专注”地做请求处理了。

“单线程”思想是非常值得品味的。在确定目标以后,也可以采用“单线程模式”,把精力集中在核心目标上,竭尽全力做好这件事,同时合理安排自己的时间,主动避开干扰因素。

当沉浸在一件事上,并且做到极致时,距离成为大牛,也就不远了。

当然,说在一件事上做到极致,并不是说只盯着某一个知识点或某一项技术,而是指在一个技术方向上做到极致。

比如说,Redis 属于键值数据库,就可以给自己定个目标:精通主要的键值数据库


二、向 Redis 集群学习可扩展能力

在应用 Redis 时,会遇到数据量增长、负载压力增大的情况,但 Redis 都能轻松应对,这就是得益于它的可扩展集群机制:

当数据容量增加时,Redis 会增加实例实现扩容;
当读压力增加时,Redis 会增加从库,来分担压力。

Redis 的新特性在持续推出,新的存储硬件也在快速地发展,这些最新技术的发展,很可能就会改变 Redis 的关键机制和使用方法。所以,想要应对复杂的场景变化,也要像 Redis 集群一样,具备可扩展能力

毕竟,技术的迭代速度如此之快,各种需求也越来越复杂。如果只是专注于学习现有的技术知识,或者是基于目前的场景去苦心钻研,很可能会被时代快速地抛弃。

只有紧跟技术发展的步伐,具备解决各种突发问题的能力,才能成为真正的技术大牛。

怎么培养可扩展能力呢?

很简单,随时随地记录新鲜的东西。这里的“新鲜”未必是指最新的内容,而是指你不了解的内容。

当你的认知范围越来越大,你的可扩展能力自然就会越来越强。

做技术的同学,通常习惯于脚踏实地地把事情做好,但是,也千万别忘了,脚踏实地的同时,也是需要“仰望星空”的。

要把学习变成一种习惯,从为了应对问题的被动学习,到为了增强自己的可扩展性而主动学习,这个转变绝对可以让你的技术能力远超过其他人。


三、从做成一件事开始

该怎么把向 Redis 学到的思想真正落地到实践中呢?

其实,道理也很简单:从做成一件事开始。

在竭尽全力做成事情的过程当中,磨炼自己的专注力,锻炼自己的可扩展能力。

常说“不积跬步,无以至千里”,这句话中的“跬步”,把它解释为做成一件事。

我们总是会做很多事,但是,很多时候,能够让我们真正得到提升的是把事做成。

定好目标,就要尽全力把这件事做成。

不可避免地会遇到各种困难,比如临时有其他的工作安排,抽不出时间,或者是遇到了不理解的内容,很难再学进去。

但是,这就像爬山,爬到半山腰的时候,往往也是我们最累的时候。我再跟你分享一下我自己的小故事。

每一次把一件事做成,都会增强自信心,提升我们的能力。随着做成的事越来越多,我们也就越来越接近山顶了,这时,会真正地体会到“会当凌绝顶,一览众山小”的感觉。


以上是关于Day774.能向 Redis 学到什么 -Redis 核心技术与实战的主要内容,如果未能解决你的问题,请参考以下文章

七天玩转Redis | Day7Redis常见面试题

Day729.为什么单线程的Redis能那么快 -Redis 核心技术与实战

Day507.图灵学院之面试题② -面经

七天玩转Redis | Day1Redis认识与安装

redis源码学习之工作流程初探

Day736.Redis常见问题① -Redis 核心技术与实战