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支持主从结构,可以利用从实例进行数据备份。