Redis部署
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目录结构:
前端启动与停止
前端启动的命令:
redis-server
可以看到Redis的启动端口为6379(默认),进程id是5979,同时,前端启动Redis后,终端将进入Redis控制台,没办法继续别的Linux命令,即这个终端窗口就”废了”,只能输入Redis自己的命令。
前端启动的关闭命令:
强制关闭:Ctrl+c
#正常关闭
[root@localhost bin]# redis-cli shutdown
下面对这两个命令进行对比:
强制关闭只需在Redis控制台直接执行即可(redis可能会丢失部分数据)
正常关闭需要另开一个终端窗口才可执行(redis不会丢失数据,推荐使用)
需要注意一点,前端的关闭命令执行,则redis控制台关闭,redis服务也会停掉
后端启动与停止
后端启动是我们开发中绝对会用到的方式,但在使用后端启动命令之后,需要做如下几步配置:
后端启动的配置:
第一步,需要把redis源码目录下的redis.conf文件复制到redis安装目录的bin目录下
第二步,修改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数据的保存