正文 第96章 困局中的曙光
但手头的工作实在太繁重,他最终只是给这个项目的作者点了一个“follo”,也就是关注。
而此刻,他刚一登陆github,网站的右上角,就弹出了一个不显眼的通知。
他关注的那个账号,在几分钟前,刚刚上传了三个全新的项目。
“哦?”
陆奇的眉毛微微挑了一下。
心中涌起了一丝兴趣。
那个写出tornado的天才,又有什么新作品了?
他移动鼠标,点了进去。
三个新的项目仓库,整齐地排列在他的眼前。
他的目光,落在了第一个项目的标题上。
【redis】
一个他从未听过的名字。
他点了进去,开始项目的简介,也就是那个通常被称为“reade”的说明文件。
同样,还是熟悉的中文。
【项目名称:redis reote dictionary server】
【项目简介:】
【这是一个用c语言编写的、开源的、高性能的键值存储系统。】
【与传统的、将数据存储在硬盘上的数据库不同,redis选择将所有数据都存放在内存中。】
【这意味着,它拥有着无与伦比的读写速度。硬盘的读写是机械式的,而内存的读写,是电子式的,二者之间存在着数量级的差距。】
【它解决了什么问题?】
【在高并发的eb应用场景下,数据库的读写往往是最大的性能瓶颈。当数以万计的用户同时请求访问同一条数据时,传统数据库的磁盘将会不堪重负,导致响应延迟,甚至整个服务崩溃。】
【redis的设计初衷,就是为了应对这种情况。它可以作为一个高速缓存层,挡在应用程序和传统数据库之间。那些频繁被访问的热点数据,可以直接从redis的内存中读取,速度快如闪电,从而极大地减轻了后端数据库的压力。】
【它的核心思想是什么?】
【1 内存即一切:牺牲了数据的持久性(在断电时数据会丢失),换来了极致的速度。】
【2 丰富的数据结构:redis不仅仅是一个简单的键值对存储。它内置了对字符串、哈希、列表、集合、有序集合等多种数据结构的原生支持。这意味着开发者可以直接在数据库层面进行更复杂的数据操作,这极大地提高了开发效率。】
【3 单线程模型:你没看错,redis的核心网络模型是单线程的。它通过io多路复用技术,避免了多线程上下文切换带来的性能开销,在处理绝大多数的网络请求时,单线程反而更快、更简单。】
【它可以填补什么样的空白?】
【在当前的互联网技术栈中,我们缺少一个足够快、足够灵活的“瑞士军刀”来处理那些对性能要求极为苛刻的场景。比如:网站的页面缓存、用户会话管理、排行榜系统、实时计数器、消息队列……redis的出现,将完美地填补这一空白。它不是要取代传统数据库,而是成为其最佳搭档,共同构建起一个真正能支撑海量
本章未完,点击下一页继续阅读
(2/3)