自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

道阻且长,行则将至

  • 博客(115)
  • 收藏
  • 关注

原创 NamedParameterJdbcTemplate的返回结果maxRows设置

NamedParameterJdbcTemplate的返回结果maxRows设置背景返回结果数量设置NamedParameterJdbcTemplate 和JdbcTemplate的差异背景笔者在data api开发工作中需要对返回结果数量限制,本想偷个懒度娘一下,结果发现尽是关于NamedParameterJdbcTemplate使用的介绍,对于限制结果返回只字不提。返回结果数量设置在执行查询前加上这一行代码就可以了,读者都知道JdbcTemplate是有setMaxRows的方法,而NamedP

2021-04-06 12:12:42 1004

原创 leetcode算法题每日一练- 猜字谜

leetcode算法题每日一练- 猜字谜题目分析实现总结题目外国友人仿照中国字谜设计了一个英文版猜字谜小游戏,请你来猜猜看吧。字谜的迷面 puzzle 按字符串形式给出,如果一个单词 word 符合下面两个条件,那么它就可以算作谜底:单词 word 中包含谜面 puzzle 的第一个字母。单词 word 中的每一个字母都可以在谜面 puzzle 中找到。例如,如果字谜的谜面是 “abcdefg”,那么可以作为谜底的单词有 “faced”, “cabbage”, 和 “baggage”;而 “

2021-02-26 17:13:24 551

原创 leetcode算法题每日一练- 翻转图像

leetcode算法题每日一练- 翻转图像题目解析实现总结题目给定一个二进制矩阵 A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转 [1, 1, 0] 的结果是 [0, 1, 1]。反转图片的意思是图片中的 0 全部被 1 替换, 1 全部被 0 替换。例如,反转 [0, 1, 1] 的结果是 [1, 0, 0]。示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,

2021-02-24 17:08:37 302

原创 leetcode算法题每日一练- 爱生气的书店老板

leetcode算法题每日一练- 爱生气的书店老板题目分析实现总结题目今天,书店老板有一家店打算试营业customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续 X 分钟

2021-02-23 11:18:01 365

原创 leetcode算法题每日一练-托普利茨矩阵

leetcode算法题每日一练-托普利茨矩阵题目实现总结题目给你一个 m x n 的矩阵 matrix 。如果这个矩阵是托普利茨矩阵,返回 true ;否则,返回 false 。如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 。示例 1:输入:matrix = [[1,2,3,4],[5,1,2,3],[9,5,1,2]]输出:true解释:在上述矩阵中, 其对角线为:“[9]”, “[5, 5]”, “[1, 1, 1]”, “[2, 2, 2]”,

2021-02-22 16:29:24 156

原创 leetcode算法题每日一练-数组的度

leetcode算法题每日一练-数组的度题目分析实现总结题目给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。示例 1:输入:[1, 2, 2, 3, 1]输出:2解释:输入数组的度是2,因为元素1和2的出现频数最大,均为2.连续子数组里面拥有相同度的有如下所示:[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [

2021-02-20 14:32:55 257

原创 leetcode算法题每日一练-K 个不同整数的子数组

leetcode算法题每日一练-K 个不同整数的子数组题目分析实现结果题目给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定独立的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。示例 1:输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2,3], [1,2,1], [2,1

2021-02-09 16:37:22 206

原创 leetcode算法题每日一练-最长湍流子数组

leetcode算法题每日一练-最长湍流子数组题目分析实现总结题目当 A 的子数组 A[i], A[i+1], …, A[j] 满足下列条件时,我们称其为湍流子数组:若 i <= k < j,当 k 为奇数时, A[k] > A[k+1],且当 k 为偶数时,A[k] < A[k+1];或 若 i <= k < j,当 k 为偶数时,A[k] > A[k+1] ,且当 k 为奇数时, A[k] < A[k+1]。也就是说,如果比较符号在子数组中的

2021-02-08 12:09:04 123

原创 leetcode算法题每日一练-非递减数列

leetcode算法题每日一练-非递减数列题目分析实现结果题目给你一个长度为 n 的整数数组,请你判断在 最多 改变 1 个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的: 对于数组中所有的 i (0 <= i <= n-2),总满足 nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,

2021-02-07 16:23:30 198

原创 leetcode算法题每日一练-汇总区间

leetcode算法题每日一练-汇总区间题目分析复杂度分析总结题目给定一个无重复元素的有序整数数组 nums 。返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。列表中的每个区间范围 [a,b] 应该按如下格式输出:“a->b” ,如果 a != b“a” ,如果 a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:[“0->2”,“4

2021-01-10 21:36:30 215

原创 leetcode算法题每日一练-旋转数组

旋转数组题目分析第一种解法第二种解法第三种解法总结题目给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,99] 和 k = 2输出: [3,99,-1,-100]解释:

2021-01-09 09:10:13 185

原创 聊聊RocketMQ(八)RocketMQ集群与运维

RocketMQ集群与运维集群搭建方式集群特点集群模式集群的搭建单Master模式多Master模式多Master和Slave模式-异步复制多Master和Slave模式-同步双写运维常见问题集群搭建方式集群特点NameServer是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对应一个Master,Master与Slave的对应关系通过指定相同的Broker

2021-01-09 09:10:00 303

原创 聊聊RocketMQ(七)RocketMQ一些开发建议

RocketMQ一些开发建议生产者消费者Broker客户端配置系统配置动态扩缩容各种故障对消息的影响生产者Tags的使用一个应用尽可能用一个Topic,而消息子类型则可以用tags来标识。tags可以由应用自由设置,只有生产者在发送消息设置了tags,消费方在订阅消息时才可以利用tags通过broker做消息过滤:message.setTags(“TagA”)。Keys的使用每个消息在业务层面的唯一标识码要设置到keys字段,方便将来定位消息丢失问题。服务器会为每个消息创建索引(哈希索引),应用可

2021-01-09 09:09:46 823

原创 聊聊RocketMQ(六)RocketMQ其他特性(下)

RocketMQ其他特性(下)消息查询按照MessageId查询消息按照Message Key查询消息消息优先级底层网络通信 - Netty高性能之道Remoting通信类结构协议设计与编解码消息的通信方式和流程Reactor主从多线程模型限流Sentinel 介绍Sentinel原理消息查询区别于消息消费:先尝后买尝就是消息查询买:消息的消费RocketMQ支持按照下面两种维度(“按照Message Id查询消息”、“按照Message Key查询消息”)进行消息查询按照MessageId查询

2021-01-09 09:09:32 381

原创 聊聊RocketMQ(五)RocketMQ其他特性(中)

@TOC消息重试顺序消息的重试对于顺序消息,当消费者消费消息失败后,消息队列 RocketMQ 会自动不断进行消息重试(每次间隔时间为 1 秒),这时,应用会出现消息消费被阻塞的情况。因此,在使用顺序消息时,务必保证应用能够及时监控并处理消费失败的情况,避免阻塞现象的发生。无序消息的重试对于无序消息(普通、定时、延时、事务消息),当消费者消费消息失败时,您可以通过设置返回状态达到消息重试的结果。无序消息的重试只针对集群消费方式生效;广播方式不提供失败重试特性,即消费失败后,失败消息不再重试,继

2021-01-09 09:09:16 447

原创 聊聊RocketMQ(四)RocketMQ其他特性(上)

RocketMQ其他特性同步复制和异步复制同步复制异步复制配置总结高可用机制消息消费高可用消息发送高可用刷盘机制同步刷盘异步刷盘负载均衡Producer的负载均衡Consumer的负载均衡同步复制和异步复制如果一个Broker组有Master和Slave,消息需要从Master复制到Slave 上,有同步和异步两种复制方式。同步复制同步复制方式是等Master和Slave均写 成功后才反馈给客户端写成功状态;在同步复制方式下,如果Master出故障,Slave上有全部的备份数据,容易恢复,但是同步

2021-01-09 09:09:01 251

原创 聊聊RocketMQ(三)RocketMQ零拷贝原理

RocketMQ零拷贝原理零拷贝原理PageCachecache和buffer的区别HeapByteBuffer和DirectByteBuffer缓冲IO和直接IO内存映射文件(Mmap)直接内存读取并发送文件的过程Mmap读取并发送文件的过程Sendfile零拷贝读取并发送文件的过程零拷贝(zero copy)小结零拷贝原理PageCache由内存中的物理page组成,其内容对应磁盘上的block。page cache的大小是动态变化的。backing store: cache缓存的存储设备

2021-01-08 17:01:55 1933 3

原创 聊聊RocketMQ(二)RocketMQ消息特性

RocketMQ消息特性消息发送消息消费消息存储存储介质关系型数据库DB文件系统存储结构消息过滤消息发送生产者向消息队列里写入消息,不同的业务场景需要生产者采用不同的写入策略。比如同步发送、异步发送、Oneway发送、延迟发送、发送事务消息等。 默认使用的是DefaultMQProducer类,发送消息要经过五个步骤:1)设置Producer的GroupName。2)设置InstanceName,当一个Jvm需要启动多个Producer的时候,通过设置不同的InstanceName来区分,不设置的话

2021-01-08 16:32:55 398

原创 聊聊RocketMQ(一)RocketMQ架构与特性

RocketMQ架构与特性简介部署架构RocketMQ特性消费模式Push or PullRocketMQ中的角色及相关术语简介RocketMQ是阿里巴巴中间件团队自研的一款高性能、高吞吐量、低延迟、高可用、高可靠(具备金融级稳定性)的分布式消息中间件,开源后并于2016年捐赠给Apache社区孵化,目前已经成为了Apache顶级项目。当前在国内被广泛的使用,包括互联网、电商、金融、企业服务等领域,包括:字节跳动、滴滴、微众银行等知名的互联网公司。使用场景应用解耦系统的耦合性越高,容错性就越低。

2021-01-08 15:56:04 393

原创 聊聊Kafka(十)Kafka的集群搭建与监控

集群应用场景消息传递Kafka可以很好地替代传统邮件代理。消息代理的使用有多种原因(将处理与数据生产者分离,缓冲未处理的消息等)。与大多数邮件系统相比,Kafka具有更好的吞吐量,内置的分区,复制和容错功能,这使其成为大规模邮件处理应用程序的理想解决方案。根据经验,消息传递的使用通常吞吐量较低,但是可能需要较低的端到端延迟,并且通常取决于Kafka提供的强大的持久性保证。在这个领域,Kafka与ActiveMQ或 RabbitMQ等传统消息传递系统相当。网站活动路由Kafka最初的用例是能够将用户

2021-01-08 15:08:19 416

原创 聊聊Kafka(九)Kafka的延时队列与消息重复解决方案

Kafka的延时队列与消息重复解决方案延时队列重试队列消息重复的场景及解决方案生产者阶段重复场景生产者发送重复解决方案生产者和broke阶段消息丢失场景解决生产者和broke阶段消息丢失消费者数据重复场景及解决方案解决方案延时队列设想一下,两个follower副本都已经拉取到了leader副本的最新位置,此时又向leader副本发送拉取请求,而leader副本并没有新的消息写入,那么此时leader副本该如何处理呢?可以直接返回空的拉取结果给follower副本,不过在leader副本一直没有新消息写

2021-01-08 14:42:10 1453 2

原创 聊聊Kafka(八)Kafka的一致性

Kafka的一致性概念Follower副本何时更新LEOFollower副本何时更新HWLeader副本何时更新LEOLeader副本何时更新HW值HW和LEO正常更新案例HW和LEO异常案例Leader Epoch使用概念水位标记水位或水印(watermark)一词,表示位置信息,即位移(offset)。Kafka源码中使用的名字是高水位,HW(high watermark)。副本角色Kafka分区使用多个副本(replica)提供高可用。LEO和HW每个分区副本对象都有两个重要的属性:L

2021-01-08 12:08:30 838

原创 聊聊Kafka(七)Kafka的broker选举与可靠性

Kafka的broker选举与可靠性控制器broker选举可靠性保证概念副本的分配:失效副本副本复制控制器Kafka集群包含若干个broker,broker.id指定broker的编号,编号不要重复。Kafka集群上创建的主题,包含若干个分区。每个分区包含若干个副本,副本因子包括了Follower副本和Leader副本。副本又分为ISR(同步副本分区)和OSR(非同步副本分区)。控制器就是一个broker。控制器除了一般broker的功能,还负责Leader分区的选举。broker选举集

2021-01-08 11:27:56 931 1

原创 聊聊Kafka(六)Kafka的事务

Kafka的事务事务事务场景几个关键概念和推导事务语义多分区原子写入粉碎“僵尸实例”事务消息定义事务配置事务概览事务组生产者ID和事务组状态事务协调器事务流程事务的中止基本事务流程的失败主题的压缩事务相关配置Broker configsProducer configsConsumer configs幂等性幂等性幂等性实现事务操作总结事务事务场景如producer发的多条消息组成一个事务这些消息需要对consumer同时可见或者同时不可见 。producer可能会给多个topic,多个partiti

2021-01-08 11:03:57 1076

原创 聊聊Kafka(五)Kafka的日志存储

Kafka的日志存储物理存储日志存储概述日志存储索引清理日志删除日志压缩策略磁盘存储零拷贝页缓存顺序写入总结物理存储日志存储概述Kafka 消息是以主题为单位进行归类,各个主题之间是彼此独立的,互不影响。每个主题又可以分为一个或多个分区。每个分区各自存在一个记录消息数据的日志文件。图中,创建了一个 tp_demo_01 主题,其存在6个 Parition,对应的每个Parition下存在一个[Topic-Parition] 命名的消息日志文件。在理想情况下,数据流量分摊到各个 Paritio

2021-01-08 10:13:03 976

原创 聊聊Kafka(四)Kafka主题与分区

Kafka主题与分区主题分区副本的分配分区副本机制Leader选举分区重新分配自动再均衡修改分区副本分区分配策略RangeAssignorRoundRobinAssignorStickyAssignor总结主题分区副本的分配副本分配的三个目标:均衡地将副本分散于各个broker上对于某个broker上分配的分区,它的其他副本在其他broker上如果所有的broker都有机架信息,尽量将分区的各个副本分配到不同机架上的broker。在不考虑机架信息的情况下:第一个副本分区通过轮询的方式挑

2021-01-08 10:12:38 1531

原创 聊聊Kafka(三)Kafka消费者与消费组

Kafka消费者与消费组简介消费者概念入门消费者、消费组心跳机制消息接收必要参数配置订阅反序列化位移提交消费者位移管理再均衡避免重平衡消费者拦截器消费组管理什么是消费者组消费者位移(consumer position)位移管理(offset management)再谈再均衡再均衡过程总结简介上节开了个头,探讨了kafka中的生产者的流程和思想,本节将继续研究消费者特性。消费者概念入门消费者、消费组消费者从订阅的主题消费消息,消费消息的偏移量保存在Kafka的名字是 __consumer_offs

2021-01-07 19:30:35 10268 2

原创 聊聊Kafka(二)Kafka生产者

Kafka生产者生产者消息发送数据生产流程解析必要参数配置原理剖析生产者参数配置补充总结生产者消息发送数据生产流程解析Producer创建时,会创建一个Sender线程并设置为守护线程。生产消息时,内部其实是异步流程;生产的消息先经过拦截器->序列化器->分区器,然后将消息缓存在缓冲区(该缓冲区也是在Producer创建时创建)。批次发送的条件为:缓冲区数据大小达到batch.size或者linger.ms达到上限,哪个先达到就算哪个。批次发送后,发往指定分区,然后落盘到bro

2021-01-07 19:08:22 293

转载 聊聊Kafka(一)Kafka架构

Kafka架构Kafka概念和基本架构Kafka介绍Kafka优势Kafka应用场景基本架构消息和批次模式主题和分区生产者和消费者broker和集群核心概念ProducerConsumerBrokerTopicPartitionReplicasOffset副本高级特性解析生产者消息发送数据生产流程解析必要参数配置原理剖析生产者参数配置补充总结Kafka概念和基本架构Kafka介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多生产者、多订阅者,基于zookeeper协调的

2021-01-07 18:45:49 441

原创 聊聊RabbitMQ(三)RabbitMQ的集群与运维

RabbitMQ的集群与运维集群方案原理单机多实例部署集群管理RabbitMQ镜像集群配置负载均衡-HAProxy配置HAProxy监控总结集群方案原理对于无状态应用(如普通的微服务)很容易实现负载均衡、高可用集群。而对于有状态的系统(如数据库等)就比较复杂。业界实践:主备模式:单活,容量对等,可以实现故障转移。使用独立存储时需要借助复制、镜像同步等技术,数据会有延迟、不一致等问题(CAP定律),使用共享存储时就不会有状态同步这个问题。主从模式:一定程度的双活,容量对等,最常见的是读写分离。

2021-01-07 17:02:51 883

原创 聊聊RabbitMQ(二)RabbitMQ的高级特性

RabbitMQ的高级特性前言消息可靠性异常捕获机制AMQP/RabbitMQ的事务机制发送端确认机制持久化存储机制Consumer ACK消费端限流消息可靠性保障消息幂等性处理可靠性分析TTL机制死信队列延迟队列总结前言本节主要介绍一下rabbitMQ的一些高级特性,诸如ttl,延迟,死信队列等。消息可靠性你用支付宝给商家支付,如果是个仔细的人,会考虑我转账的话,会不会把我的钱扣了,商家没有收到我的钱?一般我们使用支付宝或微信转账支付的时候,都是扫码,支付,然后立刻得到结果,说你支付了多少钱,如

2021-01-07 16:17:49 725 3

原创 聊聊RabbitMQ(一)RabbitMQ简介与架构

RabbitMQ简介与使用背景介绍背景介绍

2021-01-07 15:28:49 390

原创 聊聊消息中间件

聊聊消息中间件消息中间件概述分布式架构通信原理SOA架构微服务架构分布式同步通信的问题分布式异步通信模式消息中间件简介消息中间件概念主流消息中间件及选型选取原则RabbitMQRocketMQKafka消息中间件应用场景电商秒杀案例支付宝购买电影票JMS规范和AMQP协议JMS经典模式详解JMS消息体系架构对象模型模式传递方式JMS在应用集群中的问题AMQP协议剖析协议架构AMQP中的概念AMQP 传输层架构简要概述数据类型协议协商数据帧界定AMQP客户端实现JMS客户端总结消息中间件概述分布式架构通信

2021-01-07 11:33:49 463

原创 聊聊MongoDB(二):MongoDB的集群高可用

MongoDB的集群高可用前言MongoDB主从复制架构原理和缺陷复制集replica sets什么是复制集为什么要使用复制集复制集集群架构原理复制集搭建复制集成员的配置参数分片集群 Shard Cluster分片集群的搭建过程MongoDB安全认证安全认证概述用户相关操作角色单机安全认证实现流程分片集群安全认证总结前言本节主要介绍下MongoDB的高可用集群如何搭建MongoDB主从复制架构原理和缺陷master-slave架构中master节点负责数据的读写,slave没有写入权限只负责读取数据

2021-01-07 10:25:55 646

原创 聊聊MongoDB(一):MongoDB体系结构与底层原理

MongoDB体系结构与底层原理前言MongoDB体系结构NoSQL 和 MongoDBMongoDB 和RDBMS(关系型数据库)对比什么是BSONBSON在MongoDB中的使用MongoDB索引Index索引类型MongoDB 索引底层实现原理分析MongoDB架构MongoDB逻辑结构MongoDB的数据模型描述数据模型如何选择数据模型MongoDB 存储引擎存储引擎概述WiredTiger存储引擎优势WiredTiger引擎包含的文件和作用WiredTiger存储引擎实现原理写请求checkpoi

2021-01-07 09:28:54 14289 4

原创 从零开始Redis(十):Redis面试汇总

Redis面试汇总前言缓存问题缓存穿透缓存雪崩缓存击穿数据不一致数据并发竞争Hot KeyBig Key分布式锁watchsetnx本质分析分布式锁特性分布式锁的实际应用Zookeeper分布式锁的对比总结前言本节不再探讨redis的技术技术,而是从相关的面试题谈谈一些对应的解决方案缓存问题缓存穿透一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。缓存穿透是指在高并发下查询key不存在的数据,会穿过缓存查询数据库。导致数据库压力过大而宕机解

2021-01-07 08:38:47 137 1

原创 从零开始Redis(九):Redis分区

Redis分区前言分区分区的意义分区的方式范围分区hash分区client端分区proxy端分区部署架构集群搭建分片原理实例之间槽位同步扩容&自动均衡优点&缺点官方cluster分区部署架构RedisCluster的优势集群搭建分片客户端路由迁移扩容缩容容灾(failover)故障检测从节点选举变更通知主从切换副本漂移总结前言本节将介绍redis的分区。分区分区是将数据分布在多个Redis实例(Redis主机)上,以至于每个实例只包含一部分数据分区的意义性能的提升单机Redi

2021-01-06 20:15:09 772

原创 从零开始Redis(八):Redis主从与哨兵

Redis主从与哨兵前言主从复制主从配置作用原理与实现复制流程哨兵模式部署方案搭建配置执行流程启动并初始化Sentinel获取主服务器信息获取从服务器信息向主服务器和从服务器发送消息(以订阅的方式)接收来自主服务器和从服务器的频道信息检测主观下线状态检查客观下线状态选举Leader Sentinel哨兵leader选举RaftSentinel的leader选举流程故障转移主服务器的选择总结前言本节将介绍redis集群的主从模式与哨兵模式“高可用性”(High Availability)通常来描述一个系

2021-01-06 18:50:30 121

原创 从零开始Redis(七):Redis事务与扩展

Redis事务与扩展前言Redis事务事务命令事务机制事务的执行Watch的执行Redis的弱事务性Redis其它扩展功能发布与订阅发布订阅的机制使用场景Lua脚本管道(pipeline),事务和脚本(lua)三者的区别慢查询日志慢查询设置慢查询定位&处理监视器Redis监控平台总结前言本节主要介绍一下redis的事务和一些扩展功能Redis事务所谓事务(Transaction) ,是指作为单个逻辑工作单元执行的一系列操作事务的四个特性ACIDAtomicity(原子性):构成事务的的

2021-01-06 17:05:11 140

原创 从零开始Redis(七):Redis持久化

Redis持久化前言RDB触发快照的方式配置参数定期执行命令显式触发RDB执行流程(原理)RDB文件结构RDB的优缺点AOFAOF持久化实现AOF原理命令传播缓存追加文件写入和保存AOF 保存模式不保存每一秒钟保存一次每执行一个命令保存一次AOF重写、触发方式、混合持久化触发方式混合持久化AOF文件的载入与数据还原RDB与AOF对比应用场景总结前言本节将主要介绍redis的持久化机制首先读者要知道为什么要持久化?Redis是内存数据库,宕机后数据会消失。Redis重启后快速恢复数据,要提供持久化机

2021-01-06 16:25:12 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除