不管windows 还是linux主从配置一样,无非启动方式不同而已,今天犯懒直接用windows弄得主从配置

第一步:先配置redis。conf(Windows中的是redis.windows.conf)

将redis下载后复制三分,分别命名为,redis6379:主服务器、redis6380:从服务器1、redis6381:主服务器2

第二部:修改主从服务器配置:redis.windows.conf 跟 redis.windows-service.conf 端口一同修改(redis.windows-service中不用做持久化配置)

redis6379中conf配置默认,只需将他的aof持久化打开即可

redis6380从服务器1,需要修改port 端口改为6380、配置rdb持久化配置,aof关闭,将slaveof打开,修改为slaveof 127.0.0.1 6379 (意思是把这个作为6379的从服务器之一),pidfile修改为pidfile /var/run/redis6380.pid,是否只读slave-read-only yes

redis6381配置同上,吧6379改为6381即可,主服务器开启了aof持久化,从服务器1开启了rdb持久化,第二个从服务器就不用做持久化设置了

第三部:添加服务

用cmd命令,进入redis每个目录中执行以下这个命令,redis-server --service-install redis.windows.conf --loglevel verbose --service-name Redis6379(6379这里改成每个不同的端口)




redis6 对应jedis redis 6379_服务器


.打开电脑服务,启动两个从服务并设置为自动启动


redis6 对应jedis redis 6379_laravel redis_02


三个windows服务都已经启动,接下来就是测试了

测试1:不同redis服务使用不同端口连接测试

  有两种方式(1、dos下指定端口号连接;2、可视化工具连接)。

  这里我们使用redisclient可视化工具来测试。如下图:能连接上就行了


redis6 对应jedis redis 6379_redis_03


redis6 对应jedis redis 6379_windows配置redis_04


上图表明服务没毛病。

  测试2:主redisredis6379数据是否会写到redis6380和redis6381?

  测试方式(直接连接redis6379,写入一个string,看看redis6380和redis6381是否有该值)


redis6 对应jedis redis 6379_windows配置redis_05


在主服务器中添加一个字符串值,在redisclient中查看,


redis6 对应jedis redis 6379_laravel redis_06


redis6 对应jedis redis 6379_windows配置redis_07


redis6 对应jedis redis 6379_laravel redis_08


主服务器中有的缓存key值,两个从服务器中也有,至此亲测成功

以上内容希望帮助到大家