转载自: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. Django url分发到工程里

    因为我们建立了Django后 ,url是在mysite下的全局对象 因为我们实际项目里不可能只有一个工程 而全放在全局里去分发url 会让代码耦合度提高,代码量大后会造成维护困难.这时候我们把url分 ...

  2. ARP原理和欺骗

    ARP--在TCP/IP协议栈中,最不安全的协议莫过于ARP了,我们经常听到的网络扫描,内网***,流量欺骗等等,他们基本上都与ARP有关系,甚至可以说,他们的底层都是基于ARP实现的.但是ARP的是 ...

  3. Spring入门(四)— 整合Struts和Hibernate

    一.Spring整合Struts 1. 初步整合 只要在项目里面体现spring和 strut即可,不做任何的优化. struts 环境搭建 创建action public class UserAct ...

  4. js中的同步与异步的问题

    前言 近来,总是忙于拿js写一些案例,因为是小白,并没有什么丰富的经验,对各个知识点把握也不是很全面,写起来真的是...一言难尽,太痛苦了= =.尤其是在写一些轮播的时候,里面需要用到定时器,而一旦用 ...

  5. JSON和JSONP 实例

    来源:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html 前言: 说到AJAX就会不可避免的面临两个问 ...

  6. JavaScript初学

    今天学习了js的基础知识,自我归纳如下: 第一部分:js变量的声明和引入 js声明1-直接声明js代码块,使用<script></script>  2-引入外部声明,即创建一个 ...

  7. Drupal7安装注意事项

    1.在php.ini中将max_execution_time = 2400,memory_limit = 256M

  8. GIS平台结构设计

    前言: WebGIS由于技术发展和功能定位的原因,一般在进行架构设计的时候更多地考虑是否容易实现.用户交互.数据传输方便.渲染效果等方面,对强GIS的应用考虑得少,所以架构上与桌面的GIS平台很不一样 ...

  9. C++学习笔记(2)----模板

    1. 与其他任何类相同,我们既可以在类模板内部,也可以在类模板外部为其定义成员函数,且定义在类模板内的成员函数被隐式声明为内联函数. 2. 默认情况下,对于一个实例化了的类模板,其成员只有在使用时才被 ...

  10. Raspberry Pi - Huawei HiLink E3256 3G modem to ethernet adapter

    Raspberry Pi - Huawei HiLink E3256 3G modem to ethernet adapter This page documents how to configure ...