Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,
并提供多种语言的API。它支持丰富的数据类型,和高速的内存读写。正在逐步取代memcached的地位。
下载源码包
从redis官网 获取源码链接 通过wget下载
现在最新的稳定版本是5.0.3,所以下载并解压
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar -zxvf redis-5.0.3.tar.gz
移动源码包
将源码包移动到指定位置,并开始配置安装
mv redis-5.0.3 /usr/local/redis
cd /usr/local/redis/
ll
------------------------------------------------------------------------------------------------------------------------------
total 248
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 92434 Dec 12 12:25 00-RELEASENOTES
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 53 Dec 12 12:25 BUGS
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 1894 Dec 12 12:25 CONTRIBUTING
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 1487 Dec 12 12:25 COPYING
drwxrwxr-x. 6 rsa-key-20171010api rsa-key-20171010api 192 Feb 26 02:05 deps
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 11 Dec 12 12:25 INSTALL
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 151 Dec 12 12:25 Makefile
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 4223 Dec 12 12:25 MANIFESTO
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 20555 Dec 12 12:25 README.md
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 62155 Dec 12 12:25 redis.conf
-rwxrwxr-x. 1 rsa-key-20171010api rsa-key-20171010api 275 Dec 12 12:25 runtest
-rwxrwxr-x. 1 rsa-key-20171010api rsa-key-20171010api 280 Dec 12 12:25 runtest-cluster
-rwxrwxr-x. 1 rsa-key-20171010api rsa-key-20171010api 281 Dec 12 12:25 runtest-sentinel
-rw-rw-r--. 1 rsa-key-20171010api rsa-key-20171010api 9710 Dec 12 12:25 sentinel.conf
drwxrwxr-x. 3 rsa-key-20171010api rsa-key-20171010api 8192 Feb 26 02:06 src
drwxrwxr-x. 10 rsa-key-20171010api rsa-key-20171010api 167 Dec 12 12:25 tests
drwxrwxr-x. 8 rsa-key-20171010api rsa-key-20171010api 4096 Dec 12 12:25 utils
编译安装
# 编译
make
make
的时候有可能会报错
cd src && make all
make[1]: Entering directory `/usr/local/redis/src'
CC Makefile.dep
make[1]: Leaving directory `/usr/local/redis/src'
make[1]: Entering directory `/usr/local/redis/src'
CC adlist.o
In file included from adlist.c:34:0:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
#include <jemalloc/jemalloc.h>
^
compilation terminated.
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/usr/local/redis/src'
make: *** [all] Error 2
通过以下命令 可以解决
make MALLOC=libc
#安装
make install
安装目录下 utils文件夹下有个redis_init_script的初始化脚本
将脚本复制到/etc/init.d/ 目录下,文件名可以为redis_端口号,修改脚本第6行的REDISPORT变量的值为同样的端口号
创建以下两个目录
目录名 | Value |
---|---|
/etc/redis | 存放Redis的配置文件 |
/var/redis/端口号 | 存放Redis的持久化文件 |
将安装目录下的redis.conf复制到/etc/redis 并修改以下参数
参数 | 值 | 说明 |
---|---|---|
daemonize | yes | 使Redis以守护进程模式运行 |
pidfile | /var/run/redis_端口号.pid | 设置Redis的PID文件位置 |
port | 端口号 | 设置Redis监听的端口号 |
dir | /var/redis/端口号 | 设置持久化文件存放位置 |
可以通过下面的命令开启和关闭redis
/etc/init.d/redis_6379 start
/etc/init.d/redis_6379 stop
通过修改配置文件 可以设置开机自启动
vim /etc/init.d/redis_端口号
在第四行添加下面两句
# chkconfig: 2345 90 10
# description: Redis is a persistent key-value database
然后执行
chkconfig redis_端口号 on
通过以下命令也可以开启和关闭
service redis_端口号 start
service redis_端口号 stop
停止redis
redis-cli SHUTDOWN