不同 Redis 集群之间做数据同步

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 本实践是在两台虚拟机中部署了伪集群进行试验,最后才在生产环境中进行同步,同步完成之后记得做数据一致性验证。
本实践是在两台虚拟机中部署了伪集群进行试验,最后才在生产环境中进行同步,同步完成之后记得做数据一致性验证。
集群 地址
集群一 101.200.196
集群二 119.3.223.138
redis-shark 的使用: https://github.com/alibaba/RedisShake

1. 集群一插入1w条数据

[redis@hayden redis-cluster]$ cat import.sh 
#!/bin/bash
for ((i=0;i<10000;i++))
do
echo -en "helloworld" | /home/redis/redis-cluster/6379/redis-cli -a master123 -h 101.200.196.6 -p 6379 -x set name$i >>redis.log
done
[redis@hayden redis-cluster]$ sh import.sh
[redis@hayden redis-cluster]$ /home/redis/redis-cluster/6379/redis-cli -a master123 -h 101.200.196.6 -p 6379 info Keyspace
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Keyspace
db0:keys=10000,expires=0,avg_ttl=0
[redis@hayden redis-cluster]$ 

2. 集群二无数据

[redis@huawei 6379]$ ./redis-cli -a master123 -h 119.3.223.138 -p 6379 info Keyspace
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Keyspace
[redis@huawei 6379]$ 

3. 集群二同步集群一中的数据

3.1 安装redis-shake

[root@huawei redis]$ cd software/
[root@huawei software]$ ll
total 38156
-rw-r--r-- 1 redis redis  1729973 Apr 29  2018 redis-4.0.8.tar.gz
-rw-r--r-- 1 redis redis  1985757 Aug 12 11:45 redis-5.0.8.tar.gz
-rw-r--r-- 1 redis redis  5322335 Aug 12 09:51 redis-full-check-1.4.8.tar.gz
-rw-r--r-- 1 redis redis 20624591 Aug 12 12:20 redis-shake-v2.0.3.tar.gz
-rw-r--r-- 1 redis redis  9398130 Aug 12 13:55 tcl8.6.5-src.tar.gz
[root@huawei software]$ cd 
[root@huawei ~]$ cd /home/redis/software/
[root@huawei software]$ tar xf redis-shake-v2.0.3.tar.gz -C ../
[root@huawei software]$ cd ..
[root@huawei redis]$ ll
total 16
drwxr-xr-x 7 redis redis 4096 Aug 12 14:57 redis-cluster
drwxr-xr-x 6 redis redis 4096 Aug 12 14:57 redis-sentinel
drwxr-xr-x 2   502 games 4096 Jul 27 18:40 redis-shake-v2.0.3
drwxr-xr-x 2 redis redis 4096 Aug 12 13:58 software
[root@huawei redis]$ 

3.2 修改配置文件

  • 主要修改以下几项,其他的为默认,太多就没有粘贴出来
[root@huawei redis-shake-v2.0.3]$ egrep -v "^#|^$" redis-shake.conf
log.file = /home/redis/redis-shake-v2.0.3/redis-shake.log
pid_path = /home/redis/redis-shake-v2.0.3/redis-shake.pid
source.type = sentinel
source.address = mymaster:master@101.200.196.6:6379;101.200.196.6:26379
source.password_raw = master123
target.type = sentinel
target.address = mymaster:master@119.3.223.138:6379;119.3.223.138:26379
target.password_raw = master123
key_exists = rewrite
[redis@huawei redis-shake-v2.0.3]$ 

3.3 开始同步

[redis@huawei redis-shake-v2.0.3]$ ./redis-shake.linux -conf=redis-shake.conf -type=sync &
[redis@huawei redis-shake-v2.0.3]$ tail -f redis-shake.log

3.4 查看集群二数据

[redis@huawei ~]$ /home/redis/redis-cluster/6379/redis-cli -a master123 -h 119.3.223.138 -p 6379 info Keyspace
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
# Keyspace
db0:keys=10000,expires=0,avg_ttl=0
[redis@huawei ~]$ 
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
1月前
|
存储 NoSQL 算法
09- Redis分片集群中数据是怎么存储和读取的 ?
Redis分片集群使用哈希槽分区算法,包含16384个槽(0-16383)。数据存储时,通过CRC16算法对key计算并模16383,确定槽位,进而分配至对应节点。读取时,根据槽位找到相应节点直接操作。
68 12
|
1月前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
371 0
|
1月前
|
负载均衡 监控 NoSQL
Redis的集群方案有哪些?
Redis集群包括主从复制(基础,手动故障恢复)、哨兵模式(自动高可用)和Redis Cluster(官方分布式解决方案,自动分片和容错)。此外,还有如Codis、Redisson和Twemproxy等第三方工具用于代理和负载均衡。选择方案需考虑应用场景、数据规模和并发需求。
290 2
|
3天前
|
存储 监控 NoSQL
Redis哨兵&分片集群
Redis哨兵&分片集群
7 0
|
5天前
|
NoSQL 算法 Java
深入浅出Redis(八):Redis的集群模式
深入浅出Redis(八):Redis的集群模式
|
10天前
|
NoSQL Redis
透视Redis集群:心跳检测如何维护高可用性
Redis心跳检测保障集群可靠性,通过PING命令检测主从连接状态,预防数据丢失。当连接异常时,自动触发主从切换。此外,心跳检测辅助实现`min-slaves-to-write`和`min-slaves-max-lag`策略,避免不安全写操作。还有重传机制,确保命令无丢失,维持数据一致性。合理配置心跳检测,能有效防止数据问题,提升Redis集群的高可用性。关注“软件求生”获取更多Redis知识!
117 10
透视Redis集群:心跳检测如何维护高可用性
|
13天前
|
监控 NoSQL 算法
Redis集群模式:高可用性与性能的完美结合!
小米探讨Redis集群模式,通过一致性哈希分散负载,主从节点确保高可用性。节点间健康检测、主备切换、数据复制与同步、分区策略和Majority选举机制保证服务可靠性。适合高可用性及性能需求场景,哨兵模式则适用于简单需求。一起学习技术的乐趣!关注小米微信公众号“软件求生”获取更多内容。
51 11
Redis集群模式:高可用性与性能的完美结合!
|
13天前
|
监控 NoSQL Redis
|
18天前
|
NoSQL Redis
Redis入门到通关之Redis主从数据同步原理
Redis入门到通关之Redis主从数据同步原理
26 0
|
18天前
|
NoSQL Redis Docker
使用Docker搭建Redis主从集群
使用Docker搭建Redis主从集群
32 1

热门文章

最新文章