`
greemranqq
  • 浏览: 975452 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

redis maser-salve

阅读更多

一.序言

     现在只要中间件 分布式什么的都要涉及主从来提高读的性能,这里根据官网的说明介绍一些内容给大家,我就不全部翻译了,英文好了直接看原文吧。地址:http://redis.io/topics/replication

 

二.基本介绍

     1.redis 不仅支持master-slave  的复制,同时也支持slave-slave 的复制。

     2.如果master 的持久化关闭之后,在多slave 复制的时候,如果有重启之类的,会出现数据不一致的其概况。

 

三.基本配置

    1.配置很简单,我这里配置的单机的,用端口区分。先打开先前的配置

        

 

   2.用命令复制一份redis.conf 做为slave 的配置文件

      

# 注意自己的文件位置 
# 这里如果简单,你可以不用配置文件,直接通过redis-server --port 10001 方式创建
$ cp redis.conf  redis-10001.conf

 

    3.更改redis-10001.conf 的端口

     

$ vi redis-10001.conf

# 将port 6379 改成 10001 

  

    4. 启动slave

   

$ redis-server /usr/local/etc/redis-10001.conf

     

   5.连接10001 端口,指定他为slave

     

$ redis-cli -p 10001
127.0.0.1:10001> PING
PONG
127.0.0.1:10001> slaveof localhost 6379
OK

     

四.测试

     分别打开master 和 slave的窗口,在master 存放,slave 获取

     master 执行

$ redis-cli -p 6379
127.0.0.1:6379> set testkey hello
OK

    slave 执行 

$ redis-cli -p 10001
127.0.0.1:10001> get testkey
"hello"

 

     结果:master 存放的值,slave 已经获取到了。当然,默认slave 是只读的,可以通过配置改变。

     更多配置

         

五.实现步骤

     1.设置或者启动slave 的时候,会发送SYCN命令,无论是第一次连接或者重新连接

      

 

    2.msater 收到后,开始后台saving,然后缓存接收到的所有修改数据的命令。

    3.saving 完成之后,会将saving 的文件,传输给slave 

    4.slave 收到文件后,会清空以前的,并从新加载数据

    5.后面master 和slave 就是异步同步,比较时时了

    6.2.8 以后,slave断掉之后,会从连master,然后部分同步,时间可以设置

    部分同步原理:

    1.master那边会创建一个内存缓冲区,记录最近的命令

    2.每次复制master 和slave 都会有一个偏移量记录,和一个(master run id

    3.当连接断开,salve会从新请求连接,如果master run id 相同,并且偏移量位置可用,那么就会继续上次的进行复制,如果不同,这就类似于第一次连接,全量复制

 

    其他:全量复制,或者说第一次复制,如果数据过大,或导致slave 时间很长不可用。

 

小结:

       1.这里简单描述了下redis 读写分离的东西,但是这个虽然可以用性很高,但是有始终有一些遗漏 或者不同步的问题,遇坑的时候希望大家多分享~。~

       2.上面的master 是没加用户名和密码的,加了连接的时候需要注意加

       3.如果描述有错的地方,请指出,非常感谢!

   

  • 大小: 70 KB
0
1
分享到:
评论

相关推荐

    redis-stack-server 7.2.0 安装包合集

    redis-stack-server-7.2.0-v9.arm64.snap redis-stack-server-7.2.0-v9.bionic.arm64.tar.gz redis-stack-server-7.2.0-v9.bionic.x86_64.tar.gz redis-stack-server-7.2.0-v9.bullseye.x86_64.tar.gz redis-stack-...

    redis2-nginx-module-0.15

    **Redis2-NGINX-Module 0.15 知识详解** Redis2-NGINX-Module 是一个用于 NGINX Web 服务器的扩展模块,它允许开发者将 NGINX 与 Redis 数据库集成,实现高效的数据缓存和交互。这个版本是 0.15,它提供了一系列...

    redis-5.0.14-1.el7.remi.x86-64.rpm安装包(含有部署手册)

    redis-5.0.14-1.el7.remi.x86_64.rpm安装包(含有部署手册) redis-5.0.14-1.el7.remi.x86_64.rpm安装包(含有部署手册) redis-5.0.14-1.el7.remi.x86_64.rpm安装包(含有部署手册) redis-5.0.14-1.el7.remi.x86_64.rpm...

    tomcat-redis-session-manager-1.2-tomcat-7-java-7

    tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-redis-session-manager-1.2-tomcat-7-java-7tomcat-...

    redis-5.0.5.tar.gz

    redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-...

    redis校验工具redis-full-check

    **Redis 全面检查工具:redis-full-check** Redis 是一款高性能的键值存储系统,广泛应用于缓存、数据库和消息中间件等场景。在实际应用中,为了确保 Redis 的稳定性和数据一致性,需要定期对 Redis 实例进行健康...

    Redis-x64-5.0.14.msi和Redis-x64-5.0.14.zip

    解压后,你可以找到包括`redis-server.exe`、`redis-cli.exe`等在内的可执行文件,以及配置文件`redis.conf`。这种方式适合于需要自定义配置或手动管理服务的用户。通过编辑`redis.conf`,你可以调整Redis的各项参数...

    redis++使用说明,windows下编译redis-plus-plus

    "Redis++使用说明,windows下编译Redis-Plus-Plus" 在这篇文章中,我们将详细介绍如何在Windows平台下编译Redis++,包括编译hiredis.lib和Win32_Interop.lib静态库文件的过程,然后安装Cmake并编译Redis++,最后...

    tomcat-redis-session-manager的jar包-包含Tomcat7和Tomcat8

    《深入理解Tomcat-Redis-Session-Manager:在Tomcat7和Tomcat8中的应用》 在现代Web应用程序开发中,session管理是一个至关重要的环节,它涉及到用户会话的持久化和跨请求的数据共享。传统的session管理方式在高...

    PyPI 官网下载 | redis-py-cluster-1.1.0.tar.gz

    《Redis-Py-Cluster:Python中的Redis集群库详解》 Redis-Py-Cluster是一个Python库,专门用于在Python环境中操作Redis分布式集群。该库为开发者提供了便捷的方式与Redis集群进行交互,支持各种数据结构,如字符串...

    tomcat-redis-session-manager-master-2.0.0

    tomcat-redis-session-manager-2.0.0.jar jedis-2.5.2.jar commons-pool2-2.2.jar 2.修改 conf 目录下的 context.xml 文件 host="localhost" port="6379" database="0" maxInactiveInterval="60" /> ...

    Redis-x64-3.2.100.zip

    redis-serviceinstall .cmd安装成服务脚本(redis设置成windows下的服务,redis-serviceinstall .cmd脚本内容如下) redis-server --service-install redis.windows-service.conf --loglevel verbose redis-server -...

    Redis-x64-3.0.504&Redis;-x64-3.2.100&redis;-desktop-manager-0.9.3.817

    windows系统redis安装文件,Redis-x64-3.0.504(稳定版);Redis-x64-3.2.100(预发行版);redis-desktop-manager-0.9.3.817(redis界面工具)。具体安装方法详见:...

    基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,redis发布-订阅.zip

    基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,redis发布-订阅数据库,redis发布-订阅 基于muduo网络库的集群聊天服务器和客户端源码,使用nginx tcp负载均衡,mysql数据库,...

    Redis-x64-5.0.14.1

    这个名为"Redis-x64-5.0.14.1"的压缩包是Redis针对Windows操作系统的64位版本,版本号为5.0.14.1。在Windows上运行Redis可能与Linux环境有所不同,但仍然提供了相同的核心功能。 1. **Redis的特性**: - **内存...

    Redis笔记-尚硅谷周阳V1.3-脑图

    根据《Redis笔记-尚硅谷周阳V1.3》整理,脑图、思维导图xmind

    redis+redis-desktop-manager-0.8.3.3850+笔记

    1. 下载源码包:`redis-2.8.13.tar.gz` 是Redis的源码包,解压后进行编译和安装。 2. 解压:`tar -zxvf redis-2.8.13.tar.gz` 3. 编译:`cd redis-2.8.13`,然后`make` 4. 安装:`sudo make install` 5. 启动Redis...

    Redis稳定版 Redis-x64-5.0.14.1.zip

    本次提供的版本是Redis的稳定版——Redis-x64-5.0.14.1,针对64位操作系统设计。在深入探讨Redis之前,我们先了解下Redis的基本特性。 1. **数据类型**: Redis支持五大数据类型:字符串(String)、哈希(Hash)、列表...

    Redis管理工具redisplus-3.2.0-win-x86_64

    RedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows 、Linux、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。该软件支持单机、集群...

    redis-shake 3.0.0最新版

    **Redis-Shake 3.0.0:阿里云Redis数据同步工具详解** Redis-Shake是阿里云Redis&MongoDB团队开发的一款开源工具,专门用于在不同的Redis实例之间进行数据迁移和同步。它提供了高效且灵活的数据迁移解决方案,帮助...

Global site tag (gtag.js) - Google Analytics