前言

Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

1.Redis安装部署

1>下载安装文件(http://redis.io/download)到/tmp 目录下面  (个人喜好),当前使用版本是Redis3.0.7

2>解压缩,编译

tar -zxvf  redis-3.0.7.tar.gz

解压缩完成后,进入 redis-3.0.7目录

make

编译完成后,把文件copy到/user/local目录下

3>部署情况

两台服务器:10.45.130.193 Master

10.45.130.194 Slave

4>主从复制原理

初次同步:Slave向Master发出同步请求(发送sync命令),Master先dump出rdb文件,然后将rdb文件全量传输给slave,然后Master把缓存的写命令转发给Slave,初次同步完成。
          以后Master数据变更,会将变量的快照直接实时依次发送给各个Slave。

2.Redis配置文件

1>Master配置:cp redis.confredis.master.conf,并修改如下参数,其他照旧

port 6379                                    #监听的端口
           masterauth "redis@user"         #链接Master时的密码
           requirepass "redis@user"       #Master挂掉,再加入时变成了Slave,所以需要请求密码(Sentinel 模式)

进入src目录,运行命令行启动: ./redis-server  ../redis.master.conf

2>Slave配置:cp redis.confredis.slave.conf,并修改如下参数,

port 6379                                    #监听的端口
           masterauth "redis@user"         #链接Master时的密码
           requirepass "redis@user"       #Master挂掉,再加入时变成了Slave,所以需要请求密码(Sentinel 模式)

slaveof 10.45.130.193  6379      #其他和Master一样 ,这里Slave必须要配置

进入src目录,命令行启动: ./redis-server  ../redis.slave.conf

同时在Master的控制台上可以看到slave 10.45.130.193 加入了Master

3.Spring配置

<!-- Redis连接池配置-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.pool.maxIdle}" />
<property name="maxWaitMillis" value="${redis.pool.maxWait}" />
<property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
</bean>

<!-- Redis连接工厂-->
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="usePool" value="true"></property>
<property name="hostName" value="${redis.ip}" />
<property name="port" value="${redis.port}" />
<property name="password" value="${redis.password}" />
<property name="timeout" value="${redis.timeout}" />
<property name="database" value="${redis.default.db}"></property>

<constructor-arg index="0" ref="jedisPoolConfig" />
</bean>

<!-- Redis模板-->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory" />
<property name="KeySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
<property name="ValueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"></bean>
</property>

<property name="HashKeySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer"></bean>
</property>
<property name="HashValueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer"></bean>
</property>
</bean>

Redis Master/Salve Replication(主从复制模式)相关推荐

  1. Redis高可用:主从复制及哨兵模式

    目录 主从复制 作用 复制原理 使用的方式 哨兵模式 主从切换过程 Redis Sentinel的配置文件 参考 主从复制 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前 ...

  2. redis主从复制,复制功能是高可用Redis的基础,为满足故障恢复和负载均衡等需求把Redis数据复制多个副本部署到其他机器;如何实现redis的主从复制模式以及主从复制模式下常见的运维问题;

    目录 一.如何使用redis主从复制模式 1.建立复制 2.断开复制 3.安全性 4.只读模式 5.传输延迟 二.Redis的复制拓扑结构 1.一主一从结构 2.一主多从结构 3.树状主从结构 三.主 ...

  3. docker安装redis主从复制模式

    redis的主从复制模式,将一个redis服务器作为主节点(master节点),一台redis服务器作为从节点(slave节点),从节点绑定主节点的ip地址及端口,则主节点的数据可复制到从节点上去,这 ...

  4. redis集群之主从复制+哨兵模式

    文章目录 一.redis集群之主从复制 1.1.集群介绍 1.2.搭建过程 1.3.验证 二.redis集群之哨兵模式 2.1.部署过程 1.搭建主从复制集群 2.设置哨兵模式的配置文件 3.启动哨兵 ...

  5. redis详解及哨兵模式搭建

    目录 一.redis概述 1.1redis是什么: 1.2redis所支持的数据类型 1.3redis性能评估: 1.4Redis与Memcache对比: 1.5Redis的优势: 1.6  Memc ...

  6. Redis复制(Replication)

    Redis复制(Replication) 本文档翻译自: http://redis.io/topics/replication . Redis 支持简单且易用的主从复制(master-slave re ...

  7. CentOS7下安装Redis伪集群(基于Redis官方Cluster集群模式版本redis-5.0.10)

    文章目录 Redis简介 什么是redis redis的优点 Redis集群都有哪些模式 主从复制(Master-Slave Replication) 哨兵模式(Sentinel) Redis官方 C ...

  8. redis集群3种模式

    [README] 转自: https://segmentfault.com/a/1190000022808576    (好文章) Redis 支持三种集群方案 主从复制模式 Sentinel(哨兵) ...

  9. redis 哨兵_Redis的哨兵模式

    微信公众号:51码农网 网站:http://www.51manong.com51码农网,让程序员的坚持学习变得可能 Redis哨兵(Sentinel)模式 Redis的主从复制,当主机出现了宕机时,需 ...

  10. redis集群五种模式(纯概念)

    1.主从模式: 是最为简单的redis集群模式 主要工作模式是主从复制. 主数据库可以执行读写功能,而从数据库只能执行读功能. 主数据库数据发生变化,会自动同步到从数据库. 主数据库为master,从 ...

最新文章

  1. JS传中文到后台需要的处理
  2. classmethod和staticmethod
  3. 【模板】AC自动机(简单版)
  4. 观后感,读了几篇博文
  5. 免费python自学攻略-420小时学习代码之后:如何教你免费自学Python
  6. python中的或运算_python入门:if语句中的逻辑运算符
  7. Android应用上架国内各大应用市场对应用Logo、应用截图要求整理
  8. 为什么要研究游戏AI呢?
  9. 2020-08-09 我来邀请码
  10. PHP CURL实现单线程、多线程方法
  11. 桌面任务栏不见了解决办法
  12. 【找出耗电大户进行消灭 电池持久有绝招】
  13. Web日志安全分析浅谈
  14. Encountered an improper argument.问题解决办法
  15. MongoDB增删改查基础操作
  16. 【差分进化算法】基于适应度-距离-平衡的自适应引导差分进化 (FDB-AGDE) 算法附matlab代码
  17. ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xD0\xA1\xC3\xF7' for column 'NAME' at row 1解决方
  18. 【情态动词练习题】 May 与 might
  19. html div背景自动居中显示,网站背景图居中自适应以及拉伸填充CSS代码解决方法...
  20. Atlassian FaaS 云开发平台Forge解析

热门文章

  1. switchover和failover
  2. Android实现屏幕自动旋转功能
  3. 微软SQL Server BI认证专家QQ群36882826
  4. symbian3 java游戏测试,Symbian^3愤怒的小鸟测试版C7首发实测
  5. 电脑如何连接无线打印服务器,电脑怎么联接无线路由器打印机
  6. Spring Cloud Gateway Session
  7. Vue进阶(四十四):vue 图片加载完成事件
  8. 迪赛智慧数——折线图(渐变堆叠图):国内智能快递柜营收规模及增长率
  9. linux uvc协议_UVCCamera-master
  10. 第五项修炼与架构师感想