1. 介绍
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,属于Nosql数据库,并提供多种语言的API。
目前最新的Redis是5.0版本,Redis5.0加入了流数据类型(stream data type ),在其他方面也做了很多优化:RDB现在可存储LFU和LRU 信息、增强了HyperLogLog的实现、内存统计报告优化等。
2. 下载
官网地址:https://redis.io/
下载地址:http://download.redis.io/releases/redis-5.0.5.tar.gz
- 如果可以访问Redis官网,则通过以下命令快速下载:
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
提示:如果系统未安装wget命令,则通过yum install wget进行安装,安装完毕 再尝试下载Redis安装包。
- 如果无法访问Redis官网,则先下载安装包到本地,然后通过SSH工具上传到服务器再进行安装,可能需要借助翻墙工具或者在国内寻找正规的Redis安装包。
3. 安装
下载的Redis源码包存放到指定的目录,如/root/software/redis-5.0.5.tar.gz,下面则开始我们的安装过程。
- 新建Redis安装目录:/usr/local/redis
- 解压Redis安装包到/usr/local/redis目录
- 解压命令:tar -zxvf /root/software/redis-5.0.5.tar.gz -C /usr/local/redis/
- 编译安装
- 前提必须GCC环境完整,如果确实GCC,则使用yum -y install gcc进行安装。
- 编译安装命令:make & make install
- 安装完毕测试(成功如下图)
- 测试命令:make test
4. 启动服务
- 启动的方式一般有3种:
- 直接启动:redis-server
以这种方式启动,启动窗口不能关闭否则服务会停止。(默认配置)
- 以后台方式启动:redis-server &
以这种方式启动,启动窗口即使关闭服务也不会停止。(默认配置)
检测服务状态:
- ps -ef |grep redis #检测后台进程是否存在
- netstat -lntp | grep 6379 #检测6379端口是否在监听
- 指定配置文件启动(建议)
前面两种启动方式都过于简单,不符合真正的生产环境需求,正常来说,服务应该有灵活的配置启动方式,下面介绍通过配置文件来启动服务。
- 建立配置文件目录:/etc/redis
- 拷贝默认配置文件到配置目录:/etc/redis ,并且重命名为conf
默认配置文件在redis的安装根目录下:/usr/local/redis/redis-5.0.5
- 配置启动文件:vi /etc/redis/6379.conf
几个重要的指标:
- port 6379 #端口
- daemonize yes #后台运行
- 通过配置文件启动服务:redis-server/etc/redis/6379.conf
5. 停止服务
- 没有密码
redis-cli -h 127.0.0.1 -p 6379 shutdown
默认停止:redis-cli shutdown #不指定主机与端口即默认本机端口6379开启的redis服务
- 有密码
redis-cli -a password -h 127.0.0.1 -p 6379 shutdown
6. 服务自启动
经过上面的配置,Redis服务可以启动并使用,如果作为系统服务(开机自启动)该如何设置呢?一般需要借助Redis的启动脚本 redis_init_script ,脚本位于Redis根目录下的子目录/utils/内。
- 将启动脚本复制到/etc/init.d目录下,将启动脚本命名为redisd
- 在启动脚本开头添加如下注释来修改运行级别:vi /etc/init.d/redisd
# chkconfig: 2345 90 10
- 设置为开机自启动服务器:chkconfig redisd on
- 启动&关闭服务:service redisd start|stop
7. FAQ
- 异常:
Newer version of jemalloc required
- 解决:
make MALLOC=libc
- 异常:
You need tcl 8.5 or newer in order to run the Redis test
- 解决:
[root@localhost software]# wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz
[root@localhost software]# tar -xzvf tcl8.6.1-src.tar.gz -C /usr/local/
[root@localhost software]# cd /usr/local/tcl8.6.1/unix/
[root@localhost unix]# ./configure
[root@localhost unix]# make & make isntall