Redis部署

Redis部署

Scroll Down

redis安装

下载

可以到redis的官网找到各个Redis版本的下载地址,如:http://download.redis.io/releases/redis-5.0.5.tar.gz

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

解压

tar xf redis-5.0.5.tar.gz

编译安装

cd redis-5.0.5
#安装tcl,不然会有下面报错
yum install tcl -y
make
make install PREFIX=/usr/local/redis

最后,查看Redis是否安装成功:

cd /usr/local/redis/
或者使用ll命令,可以看到bin文件夹,说明Redis已经安装成功
ll /usr/local/redis/
drwxr-xr-x 2 root root 4096 Aug  5 17:31 bin
#将redis配置文件拷贝至安装目录
cp redis.conf /usr/local/redis/bin/
#将redis加入全局变量
echo 'PATH=/usr/local/redis/bin/:$PATH' >> /etc/profile
source /etc/profile

make之后,会出现一句提示:
Hint: To run 'make test' is a good idea ;)
运行#make test

报错,提示没有You need 'tclsh8.5' in order to run the Redis test

然后到Tcl的官方网站http://www.tcl.tk/下载8.5版本

然后安装tcl8.5:

(configure和make的位置比较特殊,在安装目录的unix下,所以下面是tcl官方安装法)

tar xvzf tcl8.5.12-src.tar.gz
cd tcl8.5.13/unix/
./configure
make
make test
make install PREFIX=/usr/local/redis

注:当然,也可以简单一点,用 yum install tcl 来安装

好了,安装好tcl之后,可以去redis目录下运行make test了,这次正常跑通。提示:

\o/ All tests passed without errors!
Cleanup: may take some time... OK

说明redis安装正常,可以运行

Redis启动与停止

Redis有两种启动,分别是:前端启动、后端启动。要启动Redis,就需要到Redis的bin目录下执行启动命令,先看看bin目录结构:
redis4.png

前端启动与停止

前端启动的命令:

redis-server

可以看到Redis的启动端口为6379(默认),进程id是5979,同时,前端启动Redis后,终端将进入Redis控制台,没办法继续别的Linux命令,即这个终端窗口就”废了”,只能输入Redis自己的命令。

前端启动的关闭命令:

强制关闭:Ctrl+c
#正常关闭
[root@localhost bin]# redis-cli shutdown

下面对这两个命令进行对比:
强制关闭只需在Redis控制台直接执行即可(redis可能会丢失部分数据)
正常关闭需要另开一个终端窗口才可执行(redis不会丢失数据,推荐使用)
redis1.gif
需要注意一点,前端的关闭命令执行,则redis控制台关闭,redis服务也会停掉

后端启动与停止

后端启动是我们开发中绝对会用到的方式,但在使用后端启动命令之后,需要做如下几步配置:

后端启动的配置:

第一步,需要把redis源码目录下的redis.conf文件复制到redis安装目录的bin目录下
redis2.png
第二步,修改redis.conf文件,将daemonize的值改为yes后保存。

[root@localhost bin]# vim redis.conf 
daemonize的值改为yes

后端启动的命令:

[root@localhost bin]# ./redis-server redis.conf

可以发现后端启动命令就只是比前端启动命令多了” redis.conf”,意思很明确,就是让redis根据这个配置文件的配置运行罢了,同时也可以看到,在启动完redis后台,终端不会进入redis控制台,这就是将redis运行后台了,我们可以查查看系统现在是不是有redis的进程:

[root@xuexi bin]# ps -aux|grep redis
root     19745  0.1  0.4 153892  7644 ?        Ssl  17:49   0:00 ./redis-server 127.0.0.1:6379
root     19755  0.0  0.0 112708   980 pts/0    R+   17:50   0:00 grep --color=auto redis

后端启动的关闭命令:

强制关闭:[root@localhost bin]# kill -9 进程id
正常关闭:[root@localhost bin]# ./redis-cli shutdown

因为后端启动redis,没办法像前端启动redis那样直接ctrl+c强制关闭redis,如果需要强制关闭,那只能通过杀死进程的方式停止redis。而正常关闭redis的命令与前端关闭一样。
项目中,建议使用正常关闭。因为redis作为缓存来使用的话,将数据存储到内存中,如果使用正常关闭,则会将内存数据持久化到本地之后,再关闭。如果强制关闭,则不会进行持久化操作,可能会造成部分数据丢失

使用systemctl管理redis

根据部署目录不同而相应修改

[root@db01 ~]# vim /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis
After=network.target

[Service]
Type=notify
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf --supervised systemd
ExecStop=/usr/local/redis/bin/redis-cli shutdown

[Install]
WantedBy=multi-user.target

#创建软链接是为了下一步系统初始化时自动启动服务
[root@redis01 ~]# ln -s /lib/systemd/system/redis.service /etc/systemd/system/multi-user.target.wants/redis.service
#刷新配置
[root@redis01 ~]# systemctl daemon-reload

Redis客户端

redis自带客户端

在前面介绍redis安装目录下bin目录的结构时,就已经标记出了redis的客户端,它就是redis-cli。这个客户端有两个常用的功能:
用来正常关闭redis服务
让终端进入redis控制台(后台运行redis的场景下用到)
1)启动
启动客户端命令:

[root@xuexi bin]# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> 

-h:指定访问的redis服务器的ip地址
-p:指定访问的redis服务器的port端口
如果使用的ip地址与端口都是默认的,则上述命令可以这么写:

[root@xuexi bin]# ./redis-cli
127.0.0.1:6379> 

使用默认配置:默认的ip【127.0.0.1】,默认的port【6379】
2)关闭

ctrl+c
127.0.0.1:6379> quit

要关闭该客户端,使用上述两个命令中任意一个均可,都不会影响redis数据的保存