1.创建公共配置文件

所有配置文件添加到以下目录:

/xxxx/redis-slave-master

创建公共的redis配置文件,直接使用redis的默认配置文件,修改以下配置项:

bind 127.0.0.1
daemonize yes 后台启动
requirepass 123456 登录密码

2.创建master服务的配置文件



/xxxx/redis-slave-master

目录中创建redis-master.conf文件,并添加以下配置内容:

## 公共配置配置相关
include /xxxx/redis-slave-master/redis-commom.conf ## 监听端口
port 7001
## 后台运行的时候生成的进程文件
pidfile /var/run/redis7001.pid ## 日志文件路径和名称
logfile "/xxxx/redis-slave-master/log/master" ## 持久化数据库文件
dbfilename dump7001.rdb
## 数据库文件目录
dir /xxxx/redis-slave-master/redis-dbfile

3.添加slave的配置文件

/xxxx/redis-slave-master

目录下添加redis-slave1.conf配置文件

配置内容为:

## 公共配置配置相关
include /xxxx/redis-slave-master/redis-commom.conf port 7002
pidfile /var/run/redis7002.pid logfile "/xxxx/redis-slave-master/log/slave1" dbfilename dump7002.rdb
dir /xxxx/redis-slave-master/redis-dbfile
## slave-master相关配置
slaveof 127.0.0.1 7001 masterauth 123456 slave-read-only yes

4.启动master和slave服务

切换到配置文件目录:

cd /xxxx/redis-slave-master

输入以下命令,启动master和slave服务

redis-server redis-master.conf
redis-server redis-slave1.conf

输入:

ps -aux|grep redis

如果输出以下内容:

root     10739  0.0  0.2 142912  5412 ?        Ssl  17:14   0:00 redis-server 127.0.0.1:7001
root 10748 0.0 0.2 142912 5384 ? Rsl 17:14 0:00 redis-server 127.0.0.1:7002

启动成功。

5.验证Master/Slave模式配置成功

使用redis-cli分别连接slave和master数据库:

redis-cli -p 7001 -a 123456
redis-cli -p 7002 -a 123456

在连接master的客户端中添加数据:

set master-key test

在连接slave的客户端中输入:

get master-key

如果能查询到:

"test"

则redis的slave-master配置成功。

6.slave中写入数据测试

在连接slave的客户端中输入:

set write-test test

会返回以下错误:

(error) READONLY You can't write against a read only slave.

这个因为在slave的服务中配置了只读模式。

7.redis日志文件分析:

10739:M 21 Mar 17:14:31.568 * DB loaded from disk: 0.000 seconds
10739:M 21 Mar 17:14:31.568 * The server is now ready to accept connections on port 7001
10739:M 21 Mar 17:14:38.962 * Slave 127.0.0.1:7002 asks for synchronization
10739:M 21 Mar 17:14:38.962 * Full resync requested by slave 127.0.0.1:7002
10739:M 21 Mar 17:14:38.963 * Starting BGSAVE for SYNC with target: disk
10739:M 21 Mar 17:14:38.963 * Background saving started by pid 10751
10751:C 21 Mar 17:14:38.993 * DB saved on disk
10751:C 21 Mar 17:14:38.994 * RDB: 2 MB of memory used by copy-on-write
10739:M 21 Mar 17:14:39.082 * Background saving terminated with success
10739:M 21 Mar 17:14:39.083 * Synchronization with slave 127.0.0.1:7002 succeeded

8.使用场景

一般用于读写分离

Redis学习笔记01--主从数据库配置的更多相关文章

  1. redis学习笔记-01:redis简介

    1.redis是一个高性能的Nosql数据库,遵守BSD协议,使用c语言编写.支持网络.可基于内存亦可持久化,是一种日志型.Key-Value数据库,也可看做是一个分布式的.基于内存的缓存工具. 2. ...

  2. redis学习笔记01 — 基本介绍、安装配置及常用命令

    redis--NoSQL的一种 为了解决高并发.高可用.高扩展.大数据存储等一系列问题而产生的数据库解决方案,就是NoSQL NoSQL,非关系型数据库,全名:Not Only Sql,它不能代替关系 ...

  3. Machine Learning 学习笔记 01 Typora、配置OSS、导论

    Typora 安装与使用. Typora插件. OSS图床配置. 机器学习导论. 机器学习的基本思路. 机器学习实操的7个步骤

  4. MIT JOS学习笔记01:环境配置、Boot Loader(2016.10.22)

    未经许可谢绝以任何形式对本文内容进行转载! 一.环境配置 关于MIT课程中使用的JOS的配置教程网上已经有很多了,在这里就不做介绍,个人使用的是Ubuntu 16.04 + qemu.另注,本文章中贴 ...

  5. redis学习笔记-01 string类型命令

    一.set key value set joker 123456 #设定key为joker,value为123456的数据 二.keys * keys * #用于查看该数据库中所有的key值 三.se ...

  6. Redis:学习笔记-01

    Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...

  7. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  8. Redis学习笔记4-Redis配置具体解释

    在Redis中直接启动redis-server服务时, 採用的是默认的配置文件.採用redis-server   xxx.conf 这种方式能够依照指定的配置文件来执行Redis服务. 依照本Redi ...

  9. redis学习笔记(详细)——高级篇

    redis学习笔记(详细)--初级篇 redis学习笔记(详细)--高级篇 redis配置文件介绍 linux环境下配置大于编程 redis 的配置文件位于 Redis 安装目录下,文件名为 redi ...

随机推荐

  1. Centos7 上安装配置 RabbitMQ

    前言:  最近服务器上搭建了一下rabbitmq, 网上找了很多教程, 采了灰常灰常多的坑. 现在终于从坑里面爬出来了.赶紧写下来,避免下次掉坑里面   好了,废话不多说,下面步入正题 一.安装Erl ...

  2. R+先知︱Facebook大规模时序预测『真』神器——Prophet(遍地代码图)

    经统专业看到预测的packages都是很眼馋的.除了之前的forecast包,现在这个prophet功能也很强大.本packages是由机器之心报道之后,抽空在周末试玩几小时.一些基本介绍可见机器之心 ...

  3. dojo省份地市级联之省份Dao实现类(五)

    dojo省份地市级联之省份Dao实现类 ProvinceDaoImpl.java: /** * */ package com.you.dao.impl; import java.util.ArrayL ...

  4. JavaScript中的indexOf

    JavaScript中的indexOf 1.JavaScript中利用indexOf拼接字符串 <%@ page language="java" import="j ...

  5. Django学习-12-模板继承

    对于一下3个HTML页面         url(r'^templates1/', views.templates1),         url(r'^templates2/', views.temp ...

  6. ASP.NET Core源码学习(一)Hosting

    ASP.NET Core源码的学习,我们从Hosting开始, Hosting的GitHub地址为:https://github.com/aspnet/Hosting.git 朋友们可以从以上链接克隆 ...

  7. 深入理解javascript中的事件循环event-loop

    前面的话 本文将详细介绍javascript中的事件循环event-loop 线程 javascript是单线程的语言,也就是说,同一个时间只能做一件事.而这个单线程的特性,与它的用途有关,作为浏览器 ...

  8. Hibernate【与Spring整合】

    前言 前面已经学习了如何使用Spring与Struts2进行整合,本博文主要讲解如何使用Spring对Hibernate进行整合 Spring和Hibernate整合的关键点: SessionFact ...

  9. DirectSound---3D环境

    DirectSound对于单声道的Wav文件(或者说对于单声道的PCM音频数据)提供了内置3D音效的模拟,你能够控制每一个声源和收听者的立体位置,对移动的物体应用多普勒效果等等.在单个应用程序中,可以 ...

  10. SDP(11):MongoDB-Engine功能实现

    根据上篇关于MongoDB-Engine的功能设计方案,我们将在这篇讨论里进行功能实现和测试.下面是具体的功能实现代码:基本上是直接调用Mongo-scala的对应函数,需要注意的是java类型和sc ...