redis主从 && 伪群集

本文介绍Redis主从配置的简易步骤,只需在从节点配置文件中指定主节点的IP和端口,以及主节点密码即可实现数据自动同步。此外,文中还概述了伪集群的搭建流程,包括启动多组Redis实例及使用gem命令安装必要的Redis插件。

redis主从非常简单,仅需要要从上的配置文件里指定主的IP和端口就可以了。如果主上有密码,则再添加主的密码即可!!

slaveof 192.168.15.230 6379        # 添加主上的IP和端口,重启服务即可完成主从。
masterauth abc-123 # 设置主的密码

注意:redis主从和mysql主从不一样,redis主从不用事先同步数据,它会自动同步过去

 

伪群集也非常简单!

开启3组或者3组以上后redis!

然后启用集群!(要用到gem命令安装redis插件!这个命令在ruby2.2以后才能执行成功,所以得安装ruby2.2+)

【end】

转载于:https://www.cnblogs.com/yeyu1314/p/10358621.html

### Java 中 Redis 主从集群配置与实现 #### 配置 Redis 主从集群 为了建立一个稳定的Redis主从集群,在Java应用中通常会先设置好Redis服务器之间的主从复制关系。这可以通过修改`redis.conf`文件中的相应参数并重启服务完成,也可以通过命令行动态指定。 对于Redis版本低于5.0的情况,可以使用如下命令来设定从库: ```bash slaveof <masterip> <masterport> ``` 而在Redis 5.0及以上版本,则应采用更名后的指令[^2]: ```bash replicaof <masterip> <masterport> ``` 当多个Redis实例被启动但未构成主从结构时,上述命令用于显式定义这些节点间的关系。一旦成功设置了主从模式,可以从属节点将会自动连接到其对应的主节点,并开始数据同步过程。 #### 使用 Docker 创建 Redis 实例 利用Docker容器化技术部署Redis服务是一种高效的方式。下面是一条创建名为`redis81`的服务示例命令,该命令映射主机端口6381至容器内部默认监听的6379端口,并挂载了外部目录作为持久化存储路径[^4]: ```dockerfile docker run -d -p 6381:6379 --name redis81 \ --privileged=true \ --restart=always \ -v /app/redis81/config/redis.conf:/etc/redis/redis.conf \ -v /app/redis81/data:/data \ redis:6.0.8 \ redis-server /etc/redis/redis.conf ``` 此方法不仅简化了安装流程,还便于管理和扩展多台机器上的Redis实例群集。 #### 构建完整的六节点集群 要构建一个多副本(例如每槽位有一个备份)的六个节点组成的集群,可执行以下命令[^3]: ```bash redis-cli --cluster create --cluster-replicas 1 \ 192.168.150.101:7001 192.168.150.101:7002 192.168.150.101:7003 \ 192.168.150.101:8001 192.168.150.101:8002 192.168.150.101:8003 ``` 这条命令指定了参与组成集群的所有成员地址及其端口号,并设定了每个分片拥有一个副本来提高系统的可用性和容错能力。 #### 在 Java 应用程序中操作 Redis 集群 在Java项目里集成Jedis客户端或其他兼容Redis协议的类库之后,就可以方便地访问已配置好的Redis集群资源了。这里给出一段简单的代码片段展示如何初始化JedisCluster对象并与之交互: ```java import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster; public class JedisExample { public static void main(String[] args){ Set<HostAndPort> jedisClusterNodes = new HashSet<>(); // 添加集群节点信息 jedisClusterNodes.add(new HostAndPort("192.168.150.101", 7001)); jedisClusterNodes.add(new HostAndPort("192.168.150.101", 7002)); jedisClusterNodes.add(new HostAndPort("192.168.150.101", 7003)); try (JedisCluster jc = new JedisCluster(jedisClusterNodes)){ String value = "test"; jc.set("key",value); System.out.println("Key 'key' has been set to "+jc.get("key")); } catch(Exception e){ e.printStackTrace(); } } } ``` 这段代码展示了怎样通过Jedis API向Redis集群发送SET请求并将获取的结果打印出来。实际开发过程中还需要考虑异常处理机制以及性能调优等方面的内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值