安装Redis
Redis安装
大部分企业可能还在使用redis4的版本,今年redis也迎来了6的版本更新,这次更新最大的改变应该就是支持了多线程,性能相较于上一代有大幅提升 ,那本篇就介绍如何在CentOS7下安装Redis6.0.3 最新稳定版。
redis6.2.3:http://download.redis.io/releases/redis-6.2.3.tar.gz
注意生成如果用redis6,版本要>=6.0.8
Windows安装
Linux安装redis
下载
- 官方网站:http://redis.io/ http://www.redis.cn
- 官方下载:http://redis.io/download 可以根据需要下载不同版本
- Install Redis from Source | Redis
准备: 编译安装需要gcc5.3以上,可以用
gcc -v
命令查看当前版本号Redis是C语言开发,安装Redis需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc
yum -y install gcc gcc-c++
使用下面的命令升级到gcc9.1:
1
2
3
4
5
6yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
#scl命令启用只是临时的,新开的会话默认还是原gcc版本。
#如果要长期使用gcc 9.1的话执行下面的命令即可:
echo -e "\nsource /opt/rh/devtoolset-9/enable" >> /etc/profilemake命令:
yum -y install make
下载解压
1
2
3
4
5wget http://download.redis.io/releases/redis-4.0.1.tar.gz
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
# 生成如果用redis6,版本要>=6.0.8
wget https://download.redis.io/releases/redis-6.2.7.tar.gz
tar -xzvf redis-6.2.7.tar.gz -C /opt/module切换到目录,编译
1
2
3
4
5
6
7
8cd redis-6.2.3/
# 编译 make 或 make MALLOC=libc
make
#测试需要依赖tcl 可以跳过
yum install tcl -y
make test
# 如果编译出错之后再编译可以先执行命令删除之前的编译文件
make distclean安装
1
2
3
4
5
6
7
8
9
10# (安装编译后的文件) 安装到指目录:
# PREFIX必须大写、同时会自动为我们创建redis目录,并将结果安装此目录
# 可以目录 /opt/app/redis6
make install PREFIX=/usr/local/redis
# 默认安装:bin
$ make install
# 验证: 可以看到 redis-cli,redis-server命令
ls /usr/local/redis复制源码中redis.conf文件到/usr/local/redis目录下并修改配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29# 将解压的配置文件复制到安装文件的目录下
mkdir /usr/local/redis/data
cp ~/redis-6.0.3/redis.conf /usr/local/redis/
# 修改以下几个参数:
vim /opt/app/redis6/bin/redis.conf
#daemonize no 改为yes,开启后台运行,默认是前台运行
daemonize yes
#把这一行注释,监听所有IP
#bind 127.0.0.1
#protected-mode yes 如果改为no,则是关闭保护模式,这种模式下不能配置系统服务,建议还是开启
protected-mode yes
#requirpass,保护模式开启的时候要配置密码或者bind ip
requirepass 123456
#修改本参数,指定数据目录
dir /opt/app/redis6/data
#修改本参数,指定日志目录
logfile /opt/app/redis6/redis_6379.log
执行下面的命令后台启动redis(建议配置环境变量$REDIS_HOME):
cd /opt/app/redis6/bin
./redis-server redis.conf
配置环境变量
vim /etc/bashrc
or/etc/profile
1
2
3
4export REDIS_HOME=/usr/local/redis
export PATH=$PATH:$JAVA_HOME/bin:$REDIS_HOME/bin
# 更新文件
source /etc/profile
添加redis服务到系统服务中
daemonize yes
(修改作为后台守护程序运行)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18# vim /lib/systemd/system/redis.service
vi /etc/systemd/system/redis.service
# 复制粘贴以下内容,注意ExecStart配置成自己的路径
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target设置开机启动
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15systemctl daemon-reload # 重载服务
systemctl enable redis # 开机自启
systemctl start redis.service #启动redis服务
systemctl stop redis.service #停止redis服务
systemctl restart redis.service #重新启动服务
systemctl status redis.service #查看服务当前状态
systemctl enable redis.service #设置开机自启动
systemctl disable redis.service #停止开机自启动
设置远程连接
Redis默认设置的是允许本地连接,所以需要在redis安装目录中找到redis.conf,
并将 bind 127.0.0.1注释掉,改为bind 0.0.0.0开放端口,(如果是阿里云服务器,登录阿里云账号,找到安全组设置,开发6378的端口,详情可以咨询阿里云客服)
1
2
3
4
5# 开发6379端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 刷新防火墙
firewall-cmd --reload
redis启动
我们来启动Redis,其中Redis的启动有三种方式
直接启动 直接执行
redis-server
即可启动Redis,这个方式启动实际上就是读取Redis的默认配置启动。动态参数启动 执行
redis-server --port 6380
即可指定端口号启动Redis,更多参数可以参考官方的文档。配置文件启动 执行
redis-server config.conf
即可指定名为config.conf
的配置文件进行启动Redis。1
2
3
4
5# 修改配置文件 etc/redis.conf
bind 192.168.2.101(修改绑定ip)
daemonize yes(修改作为后台守护程序运行)
# 指定配置文件,后台运行服务器端:
./redis-server /usr/local/redis/redis.conf
配置防火墙,嫌麻烦直接关闭即可:
1
2
3
4
5
6#关闭防火墙
service firewalld stop
#单独开6379端口
firewall-cmd --permanent --add-port=6379
tcpfirewall-cmd --reload
连接Redis
图形客户端: 下载安装 redis desktop manager
自带客户端连接: 由于上面的配置我们已经开启了所有IP的监听,因此可以直接连接
1
2
3
4# redis-cli –h IP地址 –p 端口 –a 密码
# --raw 避免中文显示乱码
# redis-cli -a password_value --raw
[root@node1 bin]# /usr/local/redis/bin/redis-cli -a 123456
关闭服务
- 强制关闭:ctrl+c
- 正常命令:
./redis-cli shutdown
(推荐) - 查询PID:
ps -ef | grep -i redis
,后kill -9 PID
卸载Redis
查看reids 是否在运行,如果在运行的话,先关闭
1
2
3
4
5
6
7
8# redis-server目前正在6379端口运行,需要将该进程关闭。
[root@node1 redis-6.2.7]# ps -ef | grep redis
root 70896 59211 0 22:45 pts/1 00:00:00 redis-server *:6379
# kill -9 PID 将进程关闭
[root@node1 redis-6.2.7]# kill -9 7089
# 正常停止redis-cli shutdown删除/usr/local/lib目录下与redis相关的文件:
1
2
3
4# /usr/local/lib目录下与redis相关的文件:
rm -rf /usr/local/bin/redis-*
# 删除掉解压后的文件目录和所有文件
rm -rf redis-3.2.1卸载完成