转载自:http://blog.csdn.net/acmman/article/details/53434134

redis的主从模式
(1)介绍
redis存储数据是在内存中运行的,运行速度比关系型数据库要快一些。而且它具有SortSet/Hash
等具有特色的数据类型,这是其它数据库无法比拟的。

redis有增删改查四种操作,和一般的数据库差不多。
什么操作最耗费数据库资源?是查询。查询中的子查询、多表查询,条件中的Group by、order by,
以及limit等操作都会消耗不少的数据库资源。

提升数据库效率,在资金充足的情况下,我们可以通过提升硬件设施来完成:
购置多个服务器,每个服务器执行不同的数据操作,查询类操作消耗资源,可以分给好多个数据库来操作,叫做“读写分离技术”。

添加、修改、删除都叫“数据写入”,主服务器可以作为“写入”服务器,而从服务器可以作为
“读取”服务器。主服务器和从服务器要通过一些技术自动来同步。这叫“主从模式”。

(2)创建基于redis的主从模式
我们也可以给reids构建一个“主从模式”。在多台服务器上安装Redis,然后主服务器负责写入
操作,从服务器进行读取操作。主从服务器是可以自动备份的:

(主服务器是master,从服务器是slave)

我们打开redis.conf,在下面可以设置此redis所在的服务器是哪一台主服务器的从服务器:

或者是成为哪些redis服务器的主服务器:

设置样例:
设置本机为在ip为192.168.39.159下的某台redis主服务器的从服务器

其实从服务器的读写权限是可以配置的,配置位置如下:

注意,修改完redis配置文件之后,要杀死现有的redis进程,重启redis服务,就可以看到

其它服务器的数据。

(3)动手实践
我们使用Redis来实现主从模式。

首先在VMware虚拟机中的Linux中打开两个终端,一个是用户jack,一个是newuser:

然后我们jack作为主机,redis服务运行在6379端口,我们设置newuser为从机,设置其redis
运行在6380端口,然后让其使用slaveof命令从属于jack的主机:

注意:我们客户端登录的时候,使用的配置文件分别是redis.conf和redis6380.conf。
其中redis6380.conf的内容和redis.conf一样,只有port端口号的设置不同:

可以看一下两个终端的信息,发现他们都是互相独立的,不是任何一个的从机(即两个都是独立的主机):

用指令实现主从模式的方法:

redis缓存机制【转载】的更多相关文章

  1. Redis缓存机制

    Redis介绍 Redis是一款内存高速缓存数据库: 数据模型为:key - value,非关系型数据库使用的存储数据的格式: 可持久化:将内存数据在写入之后按照一定格式存储在磁盘文件中,宕机.断电后 ...

  2. JAVA记录-redis缓存机制介绍(一)

    1.redis介绍 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Re ...

  3. 【Redis缓存机制】1.Redis介绍和使用场景

    (1)持久化数据库的缺点平常我们使用的关系型数据库有Mysql.Oracle以及SqlServer等,在开发的过程中,数据通常都是通过Web提供的数据库驱动来链接数据库进行增删改查. 那么,我们日常使 ...

  4. JAVA记录-redis缓存机制介绍(三)

    Redis 事务 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...

  5. Redis缓存机制一为什么要用Redis

    1.持久化数据库的缺点   1)存储在部署数据库的硬盘上 平时我们使用的关系型数据库有MySql,Oracle以及SqlServer等,通常通过数据驱动来链接数据库进行增删改查.         那么 ...

  6. JAVA记录-redis缓存机制介绍(四)

    Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...

  7. JAVA记录-redis缓存机制介绍(二)

    Redis 集合(Set) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度 ...

  8. SpringBoot缓存管理(三) 自定义Redis缓存序列化机制

    前言 在上一篇文章中,我们完成了SpringBoot整合Redis进行数据缓存管理的工作,但缓存管理的实体类数据使用的是JDK序列化方式(如下图所示),不便于使用可视化管理工具进行查看和管理. 接下来 ...

  9. Windows环境下使用Redis缓存工具的图文详细方法

    一.简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合). ...

随机推荐

  1. sql递归显示层级数据

    ;) as varchar(max)) as ssort from Category where ID = '123' union all select t.*, ) as varchar(max)) ...

  2. SQL Serever学习10——T-SQL语句

    在sqlserver2018中使用的是Transact-SQL语言,简称T-SQL. 数据库的创建和管理 数据定义语言DDL DDL功能包括数据库,表,索引,视图,存储过程 数据库:CREATE DA ...

  3. MySQL---4、语句规范

    1.命名规范 (1)库名.表名.(按现在的规范类似; PromoHayaoRecord),数据库名使用小写,字段名必须使用小写字母,并采用下划线分割.关键字与函数名称全部大写.(2)库名.表名.字段名 ...

  4. 第6天:数据Array

    数组Array every() 方法测试数组的所有元素是否都通过了指定函数的测试. array.every callback[, thisArg] callback 被调用时传入三个参数:元素值,元素 ...

  5. Docker学习之基本概念

    Docker学习之基本概念 作为一个后端noder,不了解docker有点说不过去,这节开始,学习一些docker层面的东西. 什么是docker Docker最初是dotCloud公司创始人Solo ...

  6. JavaScript内置对象与原生对象【转】

    原文:https://segmentfault.com/a/1190000002634958 内置对象与原生对象 内置(Build-in)对象与原生(Naitve)对象的区别在于:前者总是在引擎初始化 ...

  7. ASP.NET 简单的柱形图实现(附带示例)

    对于一些内部系统的项目,各种图表是在所难免的,因为图表可以更加清晰的表达出想看到的数据. 因为之前从来没有做过关于图表的东西,唯一能想到的就是“验证码”,所以应该是一个思路,用GDI去搞. 数据懒着去 ...

  8. 浅谈Android项目----JSON解析(4种解析技术详解)

    json简介 1.概念:json全称是javaScript object Notation,是一种并轻量级的数据交换格式. 2.特点: 1.本质就是具有特定格式的字符串 2.json完全独立于编程语言 ...

  9. java EE 新手入门了解

    郑重申明:本文转载至https://blog.csdn.net/Neuf_Soleil/article/details/80962686,在此深表感谢! 为什么选择java? 想必有很多初学者会像我一 ...

  10. 项目中遇到的问题——jsp:include

    昨晚记错了,项目中用的是这个<jsp:attribute>,不过没关系,都差不多!原理是传参数 具体用法: 假设有两个tag文件  aaa 和 bbb aaa有两个属性:name  age ...