您现在的位置是:主页 > news > 把手机网站做成app/免费自助建站平台
把手机网站做成app/免费自助建站平台
admin2025/6/18 2:27:37【news】
简介把手机网站做成app,免费自助建站平台,网站页面文案,西宁网站设计文章目录简介redis集群搭建修改配置文件编写docker-compose文件SpringBoot中使用Redis集群修改application.yml配置文件,添加Redis集群配置引入lettuce依赖简介 为了提高Redis的存储容量和响应速度,有时候我们需要搭建Redis集群。本文主要讲述Redis集群…
把手机网站做成app,免费自助建站平台,网站页面文案,西宁网站设计文章目录简介redis集群搭建修改配置文件编写docker-compose文件SpringBoot中使用Redis集群修改application.yml配置文件,添加Redis集群配置引入lettuce依赖简介
为了提高Redis的存储容量和响应速度,有时候我们需要搭建Redis集群。本文主要讲述Redis集群…
文章目录
- 简介
- redis集群搭建
- 修改配置文件
- 编写docker-compose文件
- SpringBoot中使用Redis集群
- 修改application.yml配置文件,添加Redis集群配置
- 引入lettuce依赖
简介
为了提高Redis的存储容量和响应速度,有时候我们需要搭建Redis集群。本文主要讲述Redis集群环境的搭建步骤以及如何在SpringBoot中整合使用Redis集群。
redis集群搭建
这里使用Docker Compose来搭建,我们将搭建一个6节点的Redis集群,包括3个主节点和3个从节点。
修改配置文件
在搭建Redis集群之前,我们需要修改下Redis的配置文件redis.conf
需要修改的属性如下,主要是修改了一些集群配置和运行端口,端口号需要按需修改为6391~6396:
# 开启集群功能
cluster-enabled yes
# 设置运行端口
port 6391
# 设置节点超时时间,单位毫秒
cluster-node-timeout 15000
# 集群内部配置文件
cluster-config-file "nodes-6391.conf"
编写docker-compose文件
- 编写docker-compose.yml文件用于编排6个Redis容器,具体属性的作用可以参考下面的注释;
version: "3"
services:redis-master1:image: redis:5.0 # 基础镜像container_name: redis-master1 # 容器名称working_dir: /config # 切换工作目录environment: # 环境变量- PORT=6391 # 会使用config/nodes-${PORT}.conf这个配置文件ports: # 映射端口,对外提供服务- 6391:6391 # redis的服务端口- 16391:16391 # redis集群监控端口stdin_open: true # 标准输入打开tty: true # 后台运行不退出network_mode: host # 使用host模式privileged: true # 拥有容器内命令执行的权限volumes:- /mydata/redis-cluster/config:/config #配置文件目录映射到宿主机entrypoint: # 设置服务默认的启动程序- /bin/bash- redis.shredis-master2:image: redis:5.0working_dir: /configcontainer_name: redis-master2environment:- PORT=6392ports:- 6392:6392- 16392:16392stdin_open: truenetwork_mode: hosttty: trueprivileged: truevolumes:- /mydata/redis-cluster/config:/configentrypoint:- /bin/bash- redis.shredis-master3:image: redis:5.0container_name: redis-master3working_dir: /configenvironment:- PORT=6393ports:- 6393:6393- 16393:16393stdin_open: truenetwork_mode: hosttty: trueprivileged: truevolumes:- /mydata/redis-cluster/config:/configentrypoint:- /bin/bash- redis.shredis-slave1:image: redis:5.0container_name: redis-slave1working_dir: /configenvironment:- PORT=6394ports:- 6394:6394- 16394:16394stdin_open: truenetwork_mode: hosttty: trueprivileged: truevolumes:- /mydata/redis-cluster/config:/configentrypoint:- /bin/bash- redis.shredis-slave2:image: redis:5.0working_dir: /configcontainer_name: redis-slave2environment:- PORT=6395ports:- 6395:6395- 16395:16395stdin_open: truenetwork_mode: hosttty: trueprivileged: truevolumes:- /mydata/redis-cluster/config:/configentrypoint:- /bin/bash- redis.shredis-slave3:image: redis:5.0container_name: redis-slave3working_dir: /configenvironment:- PORT=6396ports:- 6396:6396- 16396:16396stdin_open: truenetwork_mode: hosttty: trueprivileged: truevolumes:- /mydata/redis-cluster/config:/configentrypoint:- /bin/bash- redis.sh
- 从docker-compose.yml文件中我们可以看到,我们的Redis容器分别运行在6391~6396这6个端口之上, 将容器中的/config配置目录映射到了宿主机的/mydata/redis-cluster/config目录,同时还以redis.sh脚本作为该容器的启动脚本;
redis.sh的内容如下:
redis-server /config/nodes-${PORT}.conf
-
redis.sh脚本的作用是根据environment环境变量中的PORT属性,以指定配置文件来启动Redis容器;
-
接下来我们需要把Redis的配置文件和redis.sh上传到Linux服务器的/mydata/redis-cluster/config目录下;
-
使用docker-compose命令来启动所有容器
docker-compose up -d
- 此时进入其中一个Redis容器之中,初始化Redis集群
# 进入Redis容器
docker exec -it redis-master1 /bin/bash
# 初始化Redis集群命令
redis-cli --cluster create \
192.168.6.139:6391 192.168.6.139:6392 192.168.6.139:6393 \
192.168.6.139:6394 192.168.6.139:6395 192.168.6.139:6396 \
--cluster-replicas 1
- 集群创建过程中会让你确认配置,输入yes确认即可
- Redis集群创建成功后会输出如下信息
- 创建成功后我们可以使用redis-cli命令连接到其中一个Redis服务
# 单机模式启动
redis-cli -h 127.0.0.1 -p 6391
# 集群模式启动
redis-cli -c -h 127.0.0.1 -p 6391
- 之后通过cluster nodes命令可以查看节点信息,发现符合原来3主3从的预期
SpringBoot中使用Redis集群
修改application.yml配置文件,添加Redis集群配置
spring:redis:
# host: 192.168.6.139 # Redis服务器地址
# database: 0 # Redis数据库索引(默认为0)
# port: 6379 # Redis服务器连接端口password: # Redis服务器连接密码(默认为空)timeout: 3000ms # 连接超时时间lettuce:pool:max-active: 8 # 连接池最大连接数max-idle: 8 # 连接池最大空闲连接数min-idle: 0 # 连接池最小空闲连接数max-wait: -1ms # 连接池最大阻塞等待时间,负值表示没有限制cluster:nodes:- 192.168.6.139:6391- 192.168.6.139:6392- 192.168.6.139:6393- 192.168.6.139:6394- 192.168.6.139:6395- 192.168.6.139:6396
引入lettuce依赖
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency>