Redis 5设计与源码分析
上QQ阅读APP看书,第一时间看更新

1.1 Redis简介

Redis(REmote DIctionary Server)是一个使用ANSI C编写的、开源的、支持网络的、基于内存的、可选持久化的键值对存储系统。在2013年5月之前,Redis的开发由VMware赞助;2013年5月至2015年6月,由Pivotal赞助;从2015年6月起,Redis的开发由Redis Labs赞助。根据数据库使用排行网站db-engines.com上的排名,Redis是目前最流行的键值对存储系统。

Redis由Salvatore Sanfilippo在2009年发布初始版本,开源后不断发展壮大,目前的最新版为Redis 5.0。Redis的主要版本如下。

1)2009年5月发布Redis初始版本。

2)2012年发布Redis 2.6.0。

3)2013年11月发布Redis 2.8.0。

4)2015年4月发布Redis 3.0.0,该版本引入了集群。

5)2017年7月发布Redis 4.0.0,该版本引入了模块系统。

6)2018年10月发布Redis 5.0.0,该版本引入了Streams结构。

Redis在互联网数据存储方面应用广泛,主要具有以下优点。

1)Redis是内存型的数据库,也就是说Redis中的key-value对是存储在内存中的,因而效率比磁盘型的快。

2)Redis的工作模式为单线程,不需要线程间的同步操作。Redis采用单线程主要因为其瓶颈在内存和带宽上,而不是CPU。

3)Redis中key-value的value不仅可以是字符串,也可以是复杂的数据类型,如链表、集合、散列表等。

4)Redis支持数据持久化,可以采用RDB、AOF、RDB&AOF三种方案。计算机重启后可以在磁盘中进行数据恢复。

5)Redis支持主从结构,可以利用从实例进行数据备份。