Redis搭建集成

图示

正常来讲配置一主两从需要三台服务器,博主内存告急,就使用一台进行操作了,使用多台跟一台操作没有区别,只是多台不需要新建太多配置文件

一. 准备配置文件 

如果你跟我一样是在一台服务器里面进行配置主从服务的,跟我一起操作即可

找到redis目录 在bin目录同位置创建一个文件夹 用来存放待会儿复制的配置文件

[root@localhost /]# cd /opt/redis/redisserver/
[root@localhost redisserver]# mkdir rediszc

进入文件夹 复制配置文件

cd rediszc/
cp ../bin/redis.conf ./
cp redis.conf redis6380.conf
cp redis.conf redis6381.conf
cp redis.conf redis6382.conf

修改配置文件

下面需要在三个配置文件里面都进行修改

修改端口号(将复制的三个配置文件全部都修改 分别为6380 6381 6382)

关闭密码 

开启允许后台启动 如果不开启后台启动启动全部需要创建好即可窗口太麻烦 

启动服务器 

启动三个配置完redis

#如果路径与我不同请改为自己的

启动

/opt/redis/redisserver/bin/redis-server /opt/redis/redisserver/rediszc/redis63**.conf

查询是否启动成功 查询端口状态

 netstat -tnlp | grep 63**

配置主从

 配置6381成为6380的从

 新开一个窗口连接6381

/opt/redis/redisserver/bin/redis-cli -p 6381

 

第二个从 6382

操作与6381相同

在从机查看它的主机是多少

info

 

 

在主机查看它的从机有几个

 

测试

测试在主里面添加一个key在两个从里面是否可以查到,可以查到就配置成功了

主添加

 

从查询

 出来这个效果配置就完成了

### Spring Boot中配置和使用Redis Sentinel模式 #### 1. 引入必要的依赖项 为了使Spring Boot应用程序能够与Redis哨兵模式协同工作,需确保项目已引入`spring-boot-starter-data-redis`和`lettuce-core`这两个库[^1]。 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> </dependency> ``` #### 2. 配置Redis哨兵连接参数 通过自定义配置类来设置Redis哨兵的相关属性,包括但不限于主节点名称、哨兵地址列表等。由于Spring Boot默认并不提供针对Redis主从复制模式的自动化配置支持,因此这部分需要开发者自行完成[^2]。 ```java @Configuration public class RedisConfig { @Value("${spring.redis.sentinel.master}") private String master; @Value("#{'${spring.redis.sentinel.nodes}'.split(',')}") private List<String> sentinels; @Bean public RedisConnectionFactory redisConnectionFactory() { RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration() .master(master); for (String node : sentinels) { String[] hostAndPort = node.split(":"); sentinelConfig.sentinel(hostAndPort[0], Integer.parseInt(hostAndPort[1])); } return new LettuceConnectionFactory(sentinelConfig); } } ``` 此段代码展示了如何创建一个名为`redisConnectionFactory()`的方法用于返回`RedisConnectionFactory`类型的实例对象,该方法内部构建了一个基于哨兵机制的客户端连接工厂,并指定了具体的哨兵服务器信息以及所监控的Master名字[^3]。 #### 3. 使用RedisTemplate操作数据 一旦完成了上述两步之后,则可以在业务逻辑层面上像平常一样利用`@Autowired`注入`RedisTemplate`组件来进行键值对的操作了。需要注意的是,在实际应用过程中可能会碰到各种各样的异常情况,比如网络波动引起的短暂断连等问题,这时就需要考虑加入重试策略或是熔断降级措施以增强系统的健壮性[^4]。 ```java @Autowired private RedisTemplate<String, Object> redisTemplate; // ... other codes ... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值