



Web开发领域近几年最活跃的数据库非Redis莫属。和MongoDB同为NoSQL数据库的Redis,采用了更为简单的文档结构,以优异的性能和处理速度被众多互联网公司认可。
说明: 本节仅介绍Redis的安装,具体的使用示例请参考4.2节。
相比于MongoDB,Redis提供了更加易用的键-值对(Key-Value)存储模式,完全不同于SQL数据库中的数据结构。但这也存在一个很大的缺点,即对于习惯使用SQL的用户来说,Redis的学习成本远远大于MongoDB。
Redis是使用ANSI C语言编写的开源的、支持网络、可基于内存亦可持久化的日志型Key-Value数据库。基于内存的设计使得Redis的性能远远高于其他不使用内存的NoSQL数据库,当然这一点在一些内存小的计算机上所发挥的作用有限。
Redis采用常驻内存的方式,以内存作为存储数据的位置。也就是说,数据的读写不会有存储设备的I/O过程,这就是其处理速度极快的原因。
Redis采用读取和写入内存的方式虽然使数据读取速度大幅度上升,但却面临一个致命的问题:如果断电,整个内存中的数据会放电清空,内存颗粒并不保存断电前的状态,这就会导致数据完全丢失。好在Redis提供了持久化的操作。
Redis支持RDB、AOF和diskstore这3种持久化机制,持久化功能有效地避免了因机房断电或应用进程内存清理造成的数据丢失问题。
·RDB持久化:将当前数据库生成的数据快照备份到硬盘中,触发机制可以选择手动或自动方式。备份会生成一个压缩数据的二进制文件,代表当前Redis运行的内存状态。但是备份并不能做到实时地将数据进行持久化,而且在备份命令运行的过程中也会影响数据库的性能。
·AOF持久化:采用数据日志的方式对每次数据的改变进行备份,恢复日志信息后,就可以将Redis数据库恢复至最新的内容。这是现阶段最流行的持久化方式。
·diskstore持久化:该方式仅支持最新版本的Redis,单一的键值对应的value采用文件方式保存,在内存中没有相应数据的情况下从硬盘中找到数据,并读取到内存中。
从应用场景来看,一些高并发或要求高I/O性能的场景使用Redis是最佳选择,这也是为什么近几年的Web开发人员招聘中,要求开发者具备Redis技能。
Redis官网支持的操作系统只有Linux,该版本是C源代码包,可以自行编译后再安装到Windows系统中。
(1)Redis官网地址为https://redis.io/,如图3-10所示,单击Download it按钮下载最新版本的Redis安装包。
图3-10 Redis官网
(2)解压下载的Redis最新版本后会自行下载Cygwin 3,使用make命令编译安装Cygwin 3,具体安装步骤可以参考Linux平台中Redis的安装方法。
提示: 使用这种方式安装Redis,在使用过程或安装过程中可能会出现一些问题,并且Redis在Windows平台上的运行效果和效率并不如Linux平台,一般不建议这样安装。
微软为了让众多开发者可以在Windows平台使用Redis,开发了Redis的Windows版本,并开源在GitHub中,网址为https://github.com/MicrosoftArchive/redis。该版本的问题在于更新缓慢,如今最新的Releases版本依旧是2016年发布的3.2.1版本,可以在其发布的版本分支中下载相关的程序,网址为https://github.com/MicrosoftArchive/redis/releases,如图3-11所示。
图3-11 Releases发布的版本
单击想要下载的版本,在所有的版本标签中都提供了源码包、安装版本和绿色版下载,读者可以根据自己的喜好选择不同的版本,如图3-12所示。
图3-12 下载Windows Redis
下载完成后,双击该安装程序,打开安装对话框,如图3-13所示,单击Next按钮等待安装完成即可。
图3-13 安装Redis
如果需要在Linux中安装相应的Redis版本,可以使用YUM的方式安装,也可以使用命令方式安装。
(1)使用wget命令下载安装包,命令如下:
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
在http://download.redis.io/releases/中有很多不同版本的Redis安装包,可自行选择合适的版本,如图3-14所示。
图3-14 不同版本的Redis安装包
使用wget命令可以从网络上下载支持HTTP链接方式的资源,其下载目录为当前所处的目录。使用wget命令下载Redis的过程如图3-15所示。
图3-15 通过wget下载Redis
(2)使用如下命令解压压缩包。
tar -zxvf 下载文件名称
等待解压完毕才可以安装。
(3)使用cd命令进入解压后对应的代码包,然后使用make命令编译安装,命令如下:
cd src
make test
使用make test命令可以测试该安装包是否能正确操作,如果出现图3-16所示的提示,则证明缺少tcl组件,需使用如下命令安装该组件。
yum install tcl
图3-16 缺少tcl组件
(4)使用如下命令正式安装Redis,最终结果如图3-17所示,即表示安装成功。
make install
图3-17 安装完成
注意: 有些CentOS版本没有安装gcc,无法使用make命令编译代码,需要先使用yum install gcc命令安装gcc。
安装完成后,在src文件夹下输入如下命令启动Redis,效果如图3-18所示。
./redis-server
图3-18 启动Redis