下载地址 http://download.redis.io/releases/redis-5.0.7.tar.gz
http://download.redis.io/releases/redis-6.2.7.tar.gz
安装步骤
wget http://download.redis.io/releases/redis-6.2.7.tar.gz
tar -zxvf redis-6.2.7.tar.gz
mv redis-6.2.7 /usr/local/redis
yum -y install gcc automake autoconf libtool make
cd /usr/local/redis
等待make命令执行完成即可。
如果执行make命令报错:cc 未找到命令,原因是虚拟机系统中缺少gcc,执行下面命令安装gcc:
yum -y install gcc automake autoconf libtool make
如果执行make命令报错:致命错误:jemalloc/jemalloc.h: 没有那个文件或目录,则需要在make指定分配器为libc。执行下面命令即可正常编译:
make MALLOC=libc
make命令执行完,redis就编译完成了。
make install PREFIX=/usr/local/redis
cp /usr/local/redis/redis.conf redisconfig
./bin/redis-server redis.conf
但这种启动方式不能退出控制台,如果退出,那么redis服务也会停止。
* A、redis.conf配置文件中daemonize守护线程,默认是NO。
* B、daemonize是用来指定redis是否要用守护线程的方式启动。
daemonize 设置yes或者no区别
* daemonize:yes
* redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项
pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。
* daemonize:no
* 当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。
./bin/redis-server redis.conf
查看redis进程状态
ps -ef | grep redis
[root@localhost redis]# ps -ef | grep redis
root 161776 1 0 20:18 ? 00:00:00 ./bin/redis-server 127.0.0.1:6379
root 161937 8423 0 20:18 pts/1 00:00:00 grep --color=auto redis
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
[root@localhost redis]# set test hello
[root@localhost redis]# get test
bash: get: 未找到命令...
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> set test hello
OK
127.0.0.1:6379> get test
"hello"
127.0.0.1:6379> exit
首先将 bind 127.0.0.1修改为bind 0.0.0.0,原因是bind 127.0.0.1只允许本地进行访问,不允许远程连接。
防火墙增加端口号
firewall-cmd --zone=public --add-port=6379/tcp --permanent
systemctl restart firewalld.service
[root@localhost redis]# ./bin/redis-cli
127.0.0.1:6379> shutdown #关闭服务器
not connected> exit
[root@localhost redis]# ps -ef | grep redis
root 165686 8423 0 20:27 pts/1 00:00:00 grep --color=auto redis
输入命令
vim /etc/systemd/system/redis.service
进入vim后粘贴下方代码,注意查看地址是否一致。
ExecStart后面接的是你的redis-server的安装位置和redis配置文件的目录
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重载系统服务
systemctl daemon-reload
启动和查看Redis
#启动Redis
systemctl start redis
#查看Redis状态
systemctl status redis
停止Redis
systemctl stop redis
设置开机自启
systemctl enable redis