专栏首页陌无崖知识分享后端开发之Redis必会概念

后端开发之Redis必会概念

作者 | 陌无崖

转载请联系授权

持久化

RDB持久化

RDB持久化是指将当前进程中的数据生成快照的方式保存到硬盘中。保存的文件名后缀时rdb。Redis重新启动的时候会读取快照中的文件进行恢复数据;

AOF持久化

AOF持久化是指将Redis中每次写的命令记录到单独的日志文件中;当Redis重启的时候再次执行文件中的命令恢复数据;Redis服务器默认开启RDB,关闭AOF;要开启AOF,需要在配置文件中配置。

RDB和AOF的优缺点

RDB持久化:

优点:RDB的文件体积小。网络传输快,适合全量复制,恢复速度快;对性能的影响较低; 缺点:无法做到实施的持久化,数据可能会出现丢失的情况;

AOF持久化:

优点:实时的数据持久化; 缺点:文件大,恢复速度慢,对性能的影响大;

主从复制

主从复制指的是将一台redis服务器上的数据复制到其它的redis服务器,来保证数据的及时备份。前者我们称之为主节点,后者我们称之为从节点。

特点

1、数据的复制是单向的,只能通过 主节点复制数据到从节点; 2、一个redis服务器都可以当作主节点,也能成为从从节点;但是一个从节点只能有一个主节点;

作用

1、数据冗余:主从复制实现了数据的热备份。属于持久化之外的一种数据冗余方式; 2、故障恢复:由于数据的备份,当主节点出现问题时,可以有从节点暂时提供服务。是一种服务上的冗余; 3、高并发:我们利用读写分离,对主节点和从节点分别赋予不同的功能。我们可以使用主节点用于写数据。从节点负责读数据。这一点对于读多写少的场景可以轻松应对读的高并发。我们直需要多部署从节点就可以了; 4、基础:主从复制时哨兵和集群实现的基础。

哨兵

哨兵的核心功能时主节点的自动故障转移。

特点

1、监控:哨兵会不断的检测主节点和从节点是否运作正常; 2、自动故障转移:如果主节点不能正常工作。它会将失效的主节点中的从节点的其中一个从节点升级为新的主节点,并让其它从节点改为复制新的主节点; 3、配置提供者:哨兵负责Redis服务的主节点地址; 4、通知:哨兵还可将故障转移的结果发送给客户端;

典型的架构图

它由两部分组成,哨兵节点和数据节点:

  • 哨兵节点:哨兵系统由一个或多个哨兵节点组成,哨兵节点是特殊的redis节点,不存储数据。
  • 数据节点:主节点和从节点都是数据节点。

Redis-Cluster集群

集群由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。

作用

1、数据分区:集群将数据分散到多个节点,一方面突破了Redis单机内存大小的限制,存储容量大大增加;另一方面每个主节点都可以对外提供读服务和写服务,大大提高了集群的响应能力。 2、高可用:集群支持主从复制和主节点的自动故障转移(与哨兵类似);当任一节点发生故障时,集群仍然可以对外提供服务。

本文分享自微信公众号 - golang技术杂文(gh_ebbdb61f463e),作者:无崖子天下无敌

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 后端程序员必会:并发情况下redis-lua保证原子操作

    本文主要是分享在实际工作中同事遇到的问题案例;活动组在做活动时,开发人员未考虑到接口并发场景,导致因为一些用户在实际抽奖(土豪一般都是狂抽)过程中对余额产生了增...

    我是阿沐
  • 面经及项目开发之网络编程核心概念:大端与小端

    最近做的项目都涉及了协议,网络编程,针对协议与网络通信数据传输,大家使用抓包工具抓出来的数据例如:0x5634... 这些就是所谓的网络字节序,俗称大端!而针对...

    公众号guangcity
  • 初学web前端开发,你必要了解的基本概念与工具技术

    Web开发是比较费神的,需要掌握很多很多的东西,特别是从事前端开发的朋友,需要通十行才行。今天,本文向初学者介绍一些Web开发中的基本概念和用到的技术,从A到Z...

    用户7108768
  • 火花思维三面:说说Redis分布式锁是如何实现的!

    近来,分布式的问题被广泛提及,比如分布式事务、分布式框架、ZooKeeper、SpringCloud等等。本文先回顾锁的概念,再介绍分布式锁,以及如何用Redi...

    Java程序猿
  • 系统服务化构建-分布式基本特征

    本文给出了分布式系统的初步概念模型,通过介绍分布式消息队列的几种分类以及Redis的分布式高可用哨兵模型,进而引出分布式系统的几个特征,副本,故障总会发生,消息...

    needrunning
  • Redis专题(3):锁的基本概念到Redis分布式锁实现

    近来,分布式的问题被广泛提及,比如分布式事务、分布式框架、ZooKeeper、SpringCloud等等。本文先回顾锁的概念,再介绍分布式锁,以及如何用Redi...

    宜信技术学院
  • 详谈:Redis事务和消息订阅

    可以一次执行多个命令,本质是一组命令的集合。一个事务中的 所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。

    李红
  • 详谈:Redis事务和消息订阅

    可以一次执行多个命令,本质是一组命令的集合。一个事务中的 所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞。

    李红
  • Redisson 分布式锁源码 09:RedLock 红锁的故事

    所以本文会先介绍什么是 RedLock,当大家对 RedLock 有一个基本的了解。然后再看 Redisson 中是如何实现 RedLock 的。

    程序员小航
  • 「小程序JAVA实战」java-sesion的状态会话与无状态会话(38)

    IT架构圈
  • 推荐几本书

    这几年,看了一些书。罗列出来,希望能给需要的人一些借鉴。正好在找工作,也能复习下。当然笔者是计科毕业的,专业书除外。后续的一些书籍信息,也会更新到这里。

    gglinux
  • 打开我的收藏夹 -- redis篇

    总之应该是这样一种心态吧:我觉得这个内容还不错,或许我早晚要拿出来装逼用,不收藏到时候找不到了多可惜。 我希望收藏了我就会看,我就能学到什么,我就比别人多一些...

    看、未来
  • 【9k字+】第二篇:进阶:掌握 Redis 的一些进阶操作(Linux环境)

    能够合理的查看,以及理解修改配置文件,能帮助我们更好的使用 Redis,下面按照 Redis 配置文件的顺序依次往下讲

    BWH_Steven
  • 看完后,我才明白 Redis 为什么默认 16 个数据库?

    导读:在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立...

    好好学java
  • Redis 6 将采用全新协议RESP3 提供客户端缓存功能

    Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。

    Debian中国
  • Redis 集群

    所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定、高效的状态(高可用)。

    Carlos Ouyang
  • Java缓存深入理解

    对于缓存大家都不会陌生,但如何正确和合理的使用缓存还是需要一定的思考,本文将基于Java技术栈对缓存做一个相对详细的介绍,内容分为基本概念、本地缓存、远程缓存和...

    用户1216676
  • 2016年百度面试经历

    第一轮面试 1. 简单介绍自己 这个没什么说的,主要都是从简历上面说一下,面试官也会根据简历进行提问 2. 想象一个场景:一个系统要同步美国(订单)和中国的数据...

    lyb-geek
  • 开发成长之路(19)-- 缓存中间件:redis

    是一个NOSQL类型数据库, 是一个高性能的key-value数据库, 是为了解决高并发、高可用、大数据存储等一系列的问题而产生的数据库解决方案, 是一个...

    看、未来

扫码关注云+社区

领取腾讯云代金券