Redis背景

Redis全称

Redis 全称为 Remote Dictionary Server(远程词典服务),Redis 的作者是一名意大利程序员叫 Salvatore Sanfilippo(网名:antirez)。

Redis诞生

antirez 早年是系统管理员,2004 到 2006 年做嵌入式工作,之后接触 web, 2007 年和朋友共同创建一个网站 LLOOGG.com。随着 LLOOGG.com 的用户越来越多,LLOOGG.com 要维护的列表数量也越来越多,要执行的推入和弹出操作也越来越多。

LLOOGG.com 当时使用 MySQL 数据库,而 MySQL 每次执行推入和弹出操作都要进行硬盘写入和读取,程序的性能严重受制于硬盘 I/O 。最终,LLOOGG.com 所使用的 MySQL 再也没办法在当时的 VPS 上处理新增的大量负载。

由于 LLOOGG.com 当时还没有找到盈利模式,所以为了尽量节约开支,antirez 没有选择直接升级 LLOOGG.com 所使用的 VPS, 而是打算另寻办法,在现有硬件的基础上, 通过提升列表操作的性能来解决负载问题。

所以 antirez 决定自己写一个具有列表结构的内存数据库原型。这个数据库原型支持 O(1) 复杂的推入和弹出操作,并且将数据储存在内存而不是硬盘,所以程序的性能不会受到硬盘 I/O 限制,可以以极快的速度执行针对列表的推入和弹出操作。

经过实验,这个原型的确可以在不升级 VPS 的前提下解决 LLOOGG.com 当时的负载问题。

后来 antirez 使用 C 语言 重写了这个内存数据库,并给它加上了持久化功能,就这样伟大的 Redis 诞生了。

Redis演进

开始 现在
只支持列表结构。 支持字符串,哈希,列表,集合和有序集合等类型。
只能单机运行,没有内置的方法可以方便地将数据库分布到多台机器上。 支持多机运行(包括复制、自动故障转移以及分布式数据库)。
少有人知的开源项目。 广为人知并广泛使用在很多大型网站的热门开源项目。
接受捐款支持,antirez 自己无偿开发。 Pivotal 公司出资支持开发,并且有非常多的开发者通过Github 和论坛为这个项目添砖加瓦。

Redis背景总结

Redis 全称为 Remote Dictionary Server(远程词典服务)。