第96章 困局中的曙光

作者:没钱又任性 加入书签推荐本书

那个写出tornado的天才,又有什么新作品了?

他移动鼠标,点了进去。

三个新的项目仓库,整齐地排列在他的眼前。

他的目光,落在了第一个项目的标题上。

【redis】

一个他从未听过的名字。

他点了进去,开始阅读项目的简介,也就是那个通常被称为“readme”的说明文件。

同样,还是熟悉的中文。

【项目名称:redis(remotedictionaryserver)】

【项目简介:】

【这是一个用c语言编写的、开源的、高性能的键值存储系统。】

【与传统的、将数据存储在硬盘上的数据库不同,redis选择将所有数据都存放在内存中。】

【这意味着,它拥有着无与伦比的读写速度。硬盘的读写是机械式的,而内存的读写,是电子式的,二者之间存在着数量级的差距。】

【它解决了什么问题?】

【在高并发的web应用场景下,数据库的读写往往是最大的性能瓶颈。当数以万计的用户同时请求访问同一条数据时,传统数据库的磁盘将会不堪重负,导致响应延迟,甚至整个服务崩溃。】

【redis的设计初衷,就是为了应对这种情况。它可以作为一个高速缓存层,挡在应用程序和传统数据库之间。那些频繁被访问的热点数据,可以直接从redis的内存中读取,速度快如闪电,从而极大地减轻了后端数据库的压力。】

【它的核心思想是什么?】

【1.内存即一切:牺牲了数据的持久性(在断电时数据会丢失),换来了极致的速度。】

【2.丰富的数据结构:redis不仅仅是一个简单的键值对存储。它内置了对字符串、哈希、列表、集合、有序集合等多种数据结构的原生支持。这意味着开发者可以直接在数据库层面进行更复杂的数据操作,这极大地提高了开发效率。】

【3.单线程模型:你没看错,redis的核心网络模型是单线程的。它通过io多路复用技术,避免了多线程上下文切换带来的性能开销,在处理绝大多数的网络请求时,单线程反而更快、更简单。】

【它可以填补什么样的空白?】

上一页 返回目录 下一页