前言:Redis支持丰富的数据结构以及高速的读写,分布式锁机制等优点,逐渐成为当前开发项目中的标配技术。
解决场景:大多数项目在线上环境都是Linux系统,而开发环境则是Window系统,有时候本地开发环境需要读取线上Redis数据库数据进行调试时,可能是把dump.rdb数据文件Dowload到本地,然后Redis读取数据信息再作数据调试,此做法麻烦且不易于实时调试。接下来,利用Redis提供的主从配置模式实现Window环境Redis数据库同步线上Linux环境Redis数据,走起…
准备:
线上Linux模拟环境:虚拟机Centos 6.8+Redis 3.2
开发环境Window环境:Window10 + Redis 3.2
需要开放Linux环境Redis的远程连接,详细配置请参考我另一篇文章
RedisDesktopManager连接远程Linux系统的Redis服务(图文)
走起:
为了安全起见,咱们对Linux环境Redis数据库设置访问密码;编辑redis.conf配置文件,修改requirepass配置(行号482左右)
requirepass 密码
重启Redis服务
[root@Karle src]# redis-cli shutdown
[root@Karle src]# redis-server ../redis.conf
此时使用redis-cli无密访问Redis服务,会提示密码校验失败
(error) NOAUTH Authentication required
正确的开发方式(redis-cli -a 密码);好了,Linux环境Redis配置完毕
Window环境开发环境配置
Redis官网不提供Window版本的Redis,需要到微软的github下载Window版本的Redis数据库。
github地址:https://github.com/MicrosoftArchive/redis/releases
下载之后解压,点击redis-server.exe方可运行Window版本的Redis
使用RedisDesktopManager客户端输入name,host,port即可链接到Window Redis
当前Linux环境跟Window环境已经准备就绪,但两个Redis都是独立的,并没有进行主从数据同步操作。
编辑Window Redis配置文件(redis.windows.conf),找到slaveof(行号257)配置,此处配置主Redis的IP地址以及端口;为了提高Redis的安全性,咱们Linux环境的Redis设置了访问密码,所以要配置masterauth(主Redis访问密码,行号264)
slaveof 主RedisIP 端口
masterauth 主Redis访问密码
配置好主Redis链接之后,打开Window命令窗口,执行(redis-server.exe redis.windows.conf)命令,读取配置文件重启Redis服务;此时命令窗口提示链接主Redis成功,并同步数据
建议把redis-server.exe redis.windows.conf写到一个bat批处理文件,每次启动则读取最新的Redis配置文件
主从配置之后,从数据库会主动依赖主Redis数据库数据
end
推荐文章
Java基于Redis实现“附近的人”
MyBatis基于Spring-boot集成通用Mapper以及pagehelper分页插件
RedisDesktopManager连接远程Linux系统的Redis服务(图文)