赞
赏
Redis 全称为 Remote Dictionary Server(远程词典服务),Redis 的作者是一名意大利程序员叫 Salvatore Sanfilippo(网名:antirez)。
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 诞生了。
开始 | 现在 |
---|---|
只支持列表结构。 | 支持字符串,哈希,列表,集合和有序集合等类型。 |
只能单机运行,没有内置的方法可以方便地将数据库分布到多台机器上。 | 支持多机运行(包括复制、自动故障转移以及分布式数据库)。 |
少有人知的开源项目。 | 广为人知并广泛使用在很多大型网站的热门开源项目。 |
接受捐款支持,antirez 自己无偿开发。 | Pivotal 公司出资支持开发,并且有非常多的开发者通过Github 和论坛为这个项目添砖加瓦。 |
Redis 全称为 Remote Dictionary Server(远程词典服务)。