1、安装

2、安装依赖包

yum install gcc gcc-c++

3、下载源码包

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

4、解压安装

tar -xf redis-4.0.10.tar.gz

cd redis-4.0.10

make && make install

注: make 执行失败,解决

[root@localhost redis-4.0.2]# make distclean; make

5、配置redis

mkdir /etc/redis

cd redis-4.0.10/

cp redis.conf /etc/redis/6379.conf

cp utils/redis_init_script /etc/init.d/redis

chmod 755 /etc/init.d/redis

编辑配置文件 /etc/redis/6379.conf

daemonize yes # 守护进程的方式启动服务

注:守护进程的方式启动服务时,即使执行启动服务命令的终端关闭,服务仍然可以在后台运行。

设置监听地址

shell> vi /etc/redis/63779.conf

注:bind 参数若都注释掉,则会监听服务器上的所有 ip

可以指定一个或者多个,打开注释。

注意此配置项可能在 71 行左右。默认是 bind 127.0.0.1

6. 配置 centos7 systemd 管理 redis 服务

示例1、在/lib/systemd/system目录下创建一个脚本文件redis.service,里面的内容如下:

# vim /lib/systemd/system/redis.service

[Unit]

Description=Redis

After=network.target

[Service]

Type=simple

ExecStart=/usr/local/bin/redis-server /etc/redis/6379.conf --daemonize no

ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown

[Install]

WantedBy=multi-user.target

注:[Unit] 表示这是基础信息配置块

Description 是描述

After 开启自启动时候的顺序, 指定的服务必须先于次此服务启动,一般是网络服务启动后启动

[Service] 表示这里是服务信息配置块

Type 指定启动服务的类型, simple 是默认的方式

EnvironmentFile 指定服务启动时用到的配置文件

ExecStart 是启动服务的命令

ExecStop 是停止服务的指令

[Install] 表示这是是安装信息配置块

WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

授权在主机启动的时候同时启动服务

systemctl enable redis.service

示例2、 systemctl 使用普通用户启动

# 创建启动用户

useradd -s /sbin/nologin -r redis

vim /lib/systemd/system/redis.service

[Unit]

Description=Redis Server

After=network.target

[Service]

Type=simple

#PIDFile=/var/run/redis.pid

User=redis

#ExecStartPre=/bin/mkdir -p /var/lib/redis/logs

ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf

ExecStop=/bin/kill -15 $MAINPID

Restart=on-failure

[Install]

WantedBy=multi-user.target

## 刷新配置启动

systemctl daemon-reload

systemctl start redis

3、检查默认端口 6379 是否监听

[root@localhost system]# ss -antpd |grep 6379

手动使用命令指定配置文件启动服务

/usr/local/bin/redis-server /etc/redis/6379.conf

redis-cli -p 6379 #客户端指定端口访问

redis-cli -p 6379 shutdown #手动停止服务

注:手动启动服务就需手动关闭服务,再执行systemctl restart redis

二 . redis 开启密码验证

修改redis配置文件:redis.conf

cp redis.conf /usr/local/redis/redis.conf

vim /usr/local/redis/redis.conf

# requirepass foobared

requirepass 1234

注:将foobared 修改为1234,1234 就是密码

登入验证:

# redis-cli

127.0.0.1:6379> keys *

(error) NOAUTH Authentication required.

127.0.0.1:6379> auth 1234

OK

127.0.0.1:6379> keys *

三 . redis 备份与恢复

redis默认将数据存放到dump.rdb文件中

配置文件修改数据存储位置

vim /usr/local/redis/redis.conf

# The filename where to dump the DB

dbfilename dump.rdb

# Note that you must specify a directory here, not a file name.

dir /usr/local/redis/

注:

dump.rdb 转储数据库的文件名,redis服务在关闭时会将数据保存到dump.rdb文件中,重新启动时会在读取dump.rdb 文件进行数据恢复

dir /usr/local/redis/ dump.rdb存放的位置

也可使用命令生成dump.rdb 文件

# redis-cli save

开启aof存储

配置文件中打开下面选项,默认为no

appendonly yes

# The name of the append only file (default: "appendonly.aof")

appendfilename "appendonly.aof"

redis 关闭时会将数据写入到appendonly.aof 文件,重新启动时会读取appendonly.aof 恢复数据

2.aof 开启后重启redis不会加载dump.rdb文件

3.若服务redis没有开启aof存储,但数据有很重要不能丢失,可执行下面命令生成aof文件

# redis-cli

127.0.0.1:6379> BGREWRITEAOF

数据恢复

先停止redis服务

将appendonly.aof或dump.rdb文件拷贝到配置文件定义的数据目录下面(注意: 文件名应与配置文件中定义的文件名相一致)

重启redis服务

查看验证