Redis单机安装

以目前最新版本为例,目前最新版本为Redis6.2.3

1.redis6.2.3 安装

前往官网下载6.2.3版本,并上传至Linux。或者使用wget直接下载

1
wget https://download.redis.io/releases/redis-6.2.3.tar.gz

将压缩包移动到/usr/local下,解压缩,并改名为redis

1
2
3
4
5
6
7
8
mv redis-6.2.3.tar.gz /usr/local
cd /usr/local
# 解压缩
tar xzf redis-6.2.3.tar.gz
# 删除压缩包
rm -rf redis-6.2.3.tar.gz
# 重命名
mv redis-6.2.3 redis

2.编译Redis源码

1
2
3
4
5
6
7
8
# 进入 redis 主目录
cd redis
# 编译
make
# 编译成功后,进入src文件夹,执行make install进行Redis安装
cd src
# PREFIX参数指定redis的安装目录
make install PREFIX=/usr/local/redis

3.Redis的部署

安装成功后进行配置部署

3.1 配置redis为后台启动

(默认是前台直接运行的,如果Linux关闭当前会话,则Redis服务也随即关闭。正常情况下,启动Redis服务需要从后台启动,并且制定启动配置文件)

1
2
3
4
cd ..
vim redis.conf
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
将daemonize no改成daemonize yes(表明需要再后台运行)

3.2 修改端口(默认6379)

1
2
3
port 6379改成port 7000
# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis_6379.pid改成pidfile /var/run/redis_7000.pid

3.3 安全配置

1
2
3
注释bind 127.0.0.1
如果不需要密码:将protected-mode yes改成protected-mode no
如果需要密码:添加requirepass password(后面的即为密码)

3.4 启动Redis服务,并指定启动服务的配置文件

1
2
3
4
# 查看redis端口号7000占用情况
netstat -tunpl|grep 7000
# 启动Redis
src/redis-server redis.conf

3.5 查看Redis是否已启动

1
ps -ef | grep redis

6 将Redis加入到开机启动

1
2
vim /etc/rc.local
在里面添加内容:/usr/local/redis/src/redis-server /usr/local/redis/redis.conf (意思就是开机调用这段开启redis的命令)

4.测试连接

1
2
3
src/redis-cli -p 7000 -a 'password'
set hello world
get hello

5.安全组

控制台(阿里云ESC->安全组->配置管理)查看安全组是否放行了redis的端口6379(可以更改,本次安装改成了7000端口)。

6./usr/local/redis/src目录下的几个关键文件

1
2
3
4
5
redis-benchmark:redis性能测试工具
redis-check-aof:检查aof日志的工具
redis-check-dump:检查rdb日志的工具
redis-cli:连接用的客户端
redis-server:redis服务进程

7.常用命令

1
2
3
4
5
6
7
# 启动redis
redis-server /usr/local/redis/etc/redis.conf
# 停止redis
pkill redis
或者:./bin/redis-cli shutdown
# 卸载redis
rm -rf /usr/local/redis //删除安装目录

其他命令:

1
2
find / -name redis-cli
find / -name redis-server

在最后提供一个redis的在线测试的网站,适合初学者使用,不需要安装自己的环境:redis测试网站

Redis 集群安装

以目前最新版本为例,目前最新版本为Redis6.2.3

1.redis6.2.3 安装

前往官网下载6.2.3版本,并上传至Linux。或者使用wget直接下载

1
wget https://download.redis.io/releases/redis-6.2.3.tar.gz

将压缩包移动到/usr/local下,解压缩,并改名为redis

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mv redis-6.2.3.tar.gz /usr/local
cd /usr/local
# 解压缩
tar xzf redis-6.2.3.tar.gz
# 删除压缩包
rm -rf redis-6.2.3.tar.gz
# 进入 redis 主目录
cd redis-6.2.3
# 编译
make
# 编译成功后,进入src文件夹,执行make install进行Redis安装
cd src
# PREFIX参数指定redis的安装目录
make install PREFIX=/usr/local/redis-6.2.3

2.准备redisCluster所需的配置文件及脚本

1
2
3
4
5
6
7
8
9
10
11
12
# 创建所需要的以端口为区别的文件夹7001-7006
mkdir -p /usr/local/redisCluster/700{1,2,3,4,5,6}
# 将redis.conf分别复制到7001-7006的文件夹内
cp redis-6.2.3/redis.conf /usr/local/redisCluster/7001
cp redis-6.2.3/redis.conf /usr/local/redisCluster/7002
cp redis-6.2.3/redis.conf /usr/local/redisCluster/7003
cp redis-6.2.3/redis.conf /usr/local/redisCluster/7004
cp redis-6.2.3/redis.conf /usr/local/redisCluster/7005
cp redis-6.2.3/redis.conf /usr/local/redisCluster/7006
# 修改配置文件
cd /usr/local/redisCluster/7001
vim redis.conf

修改如下配置:

找到以下几处进行修改(修改这10处就基本满足集群启动条件了,其他参数可自行百度)

1
2
3
4
5
6
7
8
9
10
第1处: port 6379				    ————> 值 改成 7001
第2处: daemonize no      ————> 值 改成 yes
第3处: pidfile /var/run/redis_6379.pid     ————> 值 改成 ./redis_7001.pid
第4处: logfile ""     ————> 值 改成 "./logs/redis_7001.log"
第5处: bind 127.0.0.1      ————> 值 改成 本机IP(如我这里是192.168.25.129)
第6处: protected-mode yes     ————> 值 改成 no
第7处: # cluster-enabled yes      ————> 去掉注释
第8处: # cluster-config-file ./nodes-conf/nodes-6379.conf    ————> 去掉注释 并把数字改成对应端口号,如这里是7001,并增加保存路径./nodes-conf
第9处: # cluster-node-timeout 15000             ————> 去掉注释
第10处: appendonly no      ————> 值 改成 yes

重命名配置文件:

1
2
# 重命名redis.conf为7001.conf
mv redis.conf 7001.conf

然后复制5份分别放到7002、7003、7004、7005、7006文件夹下面,然后再对每个文件夹下的.conf文件重命名为对应端口号.conf,接着编辑里面的内容,将之前修改为7001的全部修改成对应端口号保存即可

1
2
3
4
5
6
7
8
# 创建文件夹(redis.conf中指定的路径,需要手动创建)
mkdir logs
mkdir nodes-conf
# 创建redis集群启动、停止的脚本以及ruby创建集群的脚本并授权
touch /usr/local/redisCluster/startCluster.sh
touch /usr/local/redisCluster/shutdownCluster.sh
touch /usr/local/redisCluster/createCluster.sh
chmod 777 /usr/local/redisCluster/*.sh

内容分别如下:
startCluster.sh:

1
2
3
4
5
6
/usr/local/redis-6.2.3/src/redis-server /usr/local/redisCluster/7001/7001.conf
/usr/local/redis-6.2.3/src/redis-server /usr/local/redisCluster/7002/7002.conf
/usr/local/redis-6.2.3/src/redis-server /usr/local/redisCluster/7003/7003.conf
/usr/local/redis-6.2.3/src/redis-server /usr/local/redisCluster/7004/7004.conf
/usr/local/redis-6.2.3/src/redis-server /usr/local/redisCluster/7005/7005.conf
/usr/local/redis-6.2.3/src/redis-server /usr/local/redisCluster/7006/7006.conf

shutdownCluster.sh:

1
2
3
4
5
6
/usr/local/redis-6.2.3/src/redis-cli -h 192.168.25.129 -p 7001 shutdown
/usr/local/redis-6.2.3/src/redis-cli -h 192.168.25.129 -p 7002 shutdown
/usr/local/redis-6.2.3/src/redis-cli -h 192.168.25.129 -p 7003 shutdown
/usr/local/redis-6.2.3/src/redis-cli -h 192.168.25.129 -p 7004 shutdown
/usr/local/redis-6.2.3/src/redis-cli -h 192.168.25.129 -p 7005 shutdown
/usr/local/redis-6.2.3/src/redis-cli -h 192.168.25.129 -p 7006 shutdown

createCluster.sh:

1
redis-cli --cluster create 192.168.25.129:7001 192.168.25.129:7002 192.168.25.129:7003 192.168.25.129:7004 192.168.25.129:7005 192.168.25.129:7006 --cluster-replicas 1

3. 启动redisCluster

1
2
3
4
5
6
# 启动
./startCluster.sh
# 查看进程:
ps -ef | grep redis
# 再创建集群(中途需要输入'yes')
./createCluster.sh

4. 验证

这样集群就搭建成功了。登录任意一个节点客户端验证(-c 表示以集群方式登录),也可以用redis客户端工具RedisDesktopManager来可视化地管理redis数据库。

1
redis-cli -h 192.168.25.129 -p 7001 -c

5. 查看集群信息

1
2
3
4
# 查看主从信息(集群里有多少个节点)
redis-cli -h 192.168.25.129 -p 7001 cluster nodes
# 查看集群信息
redis-cli -h 192.168.25.129 -p 7001 cluster info