优缺点 原理redis rdb
Redis的数据持久化
介绍 Redis 的数据持久化方案 Redis 的数据持久化主要有两大机制,AOF 日志和 RDB 快照。 AOF 持久化是通过保存 Redis 服务器所执行的写命令来记录数据库状态。 RDB 持久化是通过保存数据库中的键值对来记录数据库状态。 根据服务器是否启用了 AOF 持久化功能, 服务器载入 ......
<七>lambda表达式实现原理
C++11 函数对象的升级版=>lambda表达式 函数对象的缺点: 使用在泛型算法,参数传递, 比较性质/自定义操作 优先级队列, 需要专门定义出一个类 //lambda表达式语法: //[捕获外部变量](形参列表)->返回值{操作代码} auto func1=[]()->void{cout<<" ......
网络编程与通信原理
应用层:HTTP超文本传输协议,基于TCP/IP通信协议来传递数据;传输层:TCP传输控制协议,采用三次握手的方式建立连接,形成数据传输通道;网络层:IP协议,作用是把各种传输的数据包发送给请求的接收方; ......
自己动手基于 Redis 实现一个 .NET 的分布式锁类库
分布式锁的核心其实就是采用一个集中式的服务,然后多个应用节点进行抢占式锁定来进行实现,今天介绍如何采用Redis作为基础服务,实现一个分布式锁的类库,本方案不考虑 Redis 集群多节点问题,如果引入集群多节点问题,会导致解决成本大幅上升,因为 Redis 单节点就可以很容易的处理10万并发量了,这 ......
SpringBoot源码学习2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,mybatis如何进行数据库操作)
阅读本文需要spring源码知识,和springboot相关源码知识 对于springboot 整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过 系列文章目录和关于我 涉及到spring ioc原理,可移步学习:Spring源码学习笔记12——总结篇IOC,Bean的生命周 ......
Vue 响应式原理模拟以及最小版本的 Vue的模拟
在模拟最小的vue之前,先复习一下,发布订阅模式和观察者模式 对两种模式有了了解之后,对Vue2.0和Vue3.0的数据响应式核心原理 1.Vue2.0和Vue3.0的数据响应式核心原理 (1). Vue2.0是采用Object.defineProperty的方式,对数据进行get,set方法设置的 ......
redux原理分享
概述 一个状态管理工具 Store:保存数据的地方,你可以把它看成一个容器,整个应用只能有一个 Store。 State:包含所有数据,如果想得到某个时点的数据,就要对 Store 生成快照,这种时点的数据集合,就叫做 State。 Action:Action 就是 View 发出的通知,表示 St ......
Kafka事务「原理剖析」
一、事务概览 提起事务,我们第一印象可能就是ACID,需要满足原子性、一致性、事务隔离级别等概念,那kafka的事务能做到什么程度呢?我们首先看一下如何使用事务 Producer端代码如下 KafkaProducer<String, String> producer = new KafkaProdu ......
数据结构高阶--二叉搜索树(原理+实现)
二叉搜索树 概念 二叉搜索树又称为二叉排序树,因为这棵树的中序遍历是有序的。二叉搜索树总结起来有以下几个性质: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于于根节点的值 它的左右子树都是二叉搜索树 这棵树中没有重复的元素 举个例子: 二 ......
Java阻塞队列中的异类,SynchronousQueue底层实现原理剖析
上篇文章谈到BlockingQueue的使用场景,并重点分析了ArrayBlockingQueue的实现原理,了解到ArrayBlockingQueue底层是基于数组实现的阻塞队列。
但是BlockingQueue的实现类中,有一种阻塞队列比较特殊,就是SynchronousQueue(同步移交队... ......
【RocketMQ】主从同步实现原理
主从同步的实现逻辑主要在HAService中,在DefaultMessageStore的构造函数中,对HAService进行了实例化,并在start方法中,启动了HAService: public class DefaultMessageStore implements MessageStore { ......
Docker 工作原理分析
docker 容器原理分析 docker 的工作方式 Namespace 容器对比虚拟机 Cgroups 容器看到的文件 Mount namespace chroot rootfs Volume(数据卷) 打包一个go镜像 总结 参考 docker 容器原理分析 docker 的工作方式 当我们的程 ......
redisson分布式锁原理剖析
redisson分布式锁原理剖析 相信使用过redis的,或者正在做分布式开发的童鞋都知道redisson组件,它的功能很多,但我们使用最频繁的应该还是它的分布式锁功能,少量的代码,却实现了加锁、锁续命(看门狗)、锁订阅、解锁、锁等待(自旋)等功能,我们来看看都是如何实现的。 加锁 //获取锁对 ......
ADPCM(自适应差分脉冲编码调制)的原理和计算
ADPCM 用于解决 DPCM 的差值宽度问题, 通过定义一个差值表(例如IMA ADPCM 中使用 89个固定差值, 取值从7到32767), 将差值的范围放宽到16bit, 此时差值在数组中的编号只需要6bit就可以表示(0 - 88), 再进一步只记录编号的变化值, 就将变化量压缩到了4bit... ......
Android 内存缓存框架 LruCache 的实现原理,手写试试?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 在之前的文章里,我们聊到了 LRU 缓存淘汰算法,并且分析 Java 标准库中支持 LUR 算法的数据结构 LinkedHashMap。当时,我们使用 LinkedHashMap 实 ......
python进阶(28)import导入机制原理
前言 在Python中,一个.py文件代表一个Module。在Module中可以是任何的符合Python文件格式的Python脚本。了解Module导入机制大有用处。 1. Module组成 一个.py文件就是一个module。Module中包括attribute, function等。 这里说的a ......
面试官:介绍一下 Redis 三种集群模式
小码今天去面试。 面试官:给我介绍一下Redis集群, 小码:啊,平时开发用的都是单机Redis,没怎么用过集群了。 面试官:好的,出门右转不谢。 小码内心困惑:在小公司业务量也不大,单机的 Redis 完全够用,也不会发生宕机问题啊。面试要问到 Redis 集群该怎么办呢? Redis 为何要有集 ......
详解 Redis 中 big keys 发现和解决
在使用 Redis 时,可能会出现请求响应慢、网络卡顿、数据丢失的情况。排查问题的时候,发现是 big keys 的问题。 什么是 big keys 在 Redis 中,一个字符串类型最大可以达到 512MB,其他非字符串类型的集合类型(list、set、hash、zset等)可以存储 40 亿个( ......
基于jenkins+kubernetes的cicd流程实践一:环境搭建及方案原理
1.基础环境:Centos7.9,kubernetes:v1.21.5 node-1@112(master):docker,containerd,harbornginx(80),git,etcd node-2@109(master/worker):docker,containerd,ingress_ ......
深入浅出学习透析Nginx服务器的基本原理和配置指南「初级实践篇 」
Nginx (Engine X)是一个轻量级的Web服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 ......
深入浅出学习透析 Nginx 服务器的基本原理和配置指南「运维操作实战篇」
Nginx 安装非常的简单,且Nginx 启动特别容易,并且几乎可以做到24小时不间断运行,即使运行数个月也不需要重新启动。你还能够在不间断服务的情况下进行软件版本的升级。接下来我们要针对于安装和运维操作进行实战和分析。 ......
大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-中
本篇详细描述hoodie数据读写流程,进一步加深对数据湖技术的理解。理论后转战集成Spark的使用,通过spark-shell和spark-sql实现hoodie的插入数据、查询数据、更新数据、删除数据、覆盖数据、时间旅行查询等示例,了解创建表、修改表结构、查询分区、删除分区基本用法,为进一步使用奠... ......
大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-下
本篇演示了Hudi集成Spark的Scala编程示例,并一步步操作说明如何使用DeltaStreamer从Kafka里读取数据写入到Hudi表的HDFS中,接着集成Flink的环境准备,通过基于yarn-session的Flink的sql-client方式提交任务实现插入数据和流式读取数据,了解字节... ......
大数据下一代变革之必研究数据湖技术Hudi原理实战双管齐下-后续
本篇实战Hudi集成Flink SQl编程示例实现从生成器表写入Hudi表,打包集群验证;然后通过Hudi Flink CDC实现采集MySQL binlog日志写入Kafka再入到hudi表的完整示例,了解Hudi Flink的基础调试只是,最后通过Hudi集成Hive实现Flink Hive C... ......
redis集群之主从复制集群的原理和部署
最近在复盘redis的知识,所以本文开始希望介绍下redis的集群架构、原理以及部署;本文主要介绍redis的主从复制集群,包括其架构模型,原理,高可用等; 一、主从集群的介绍 redis的主从复制集群为了提高效率降低客户端等待时长,主从间的数据同步采用的是弱一致性的策略,即客户端请求发到主机后,不 ......
redis集群之分片集群的原理和常用代理环境部署
上篇文章刚刚介绍完redis的主从复制集群,但主从复制集群主要是为了解决redis集群的单点故障问题,通过整合哨兵能实现集群的高可用;但是却无法解决数据容量以及单节点的压力问题,所以本文继续介绍redis的分片集群;分片集群即将不同的数据分发到不同的redis实例(或者主从集群),每个redis实例 ......
redis的持久化
redis是一种基于内存的非关系型数据库,内存虽然快但是数据也更易丢失,所以redis提供了两种持久化方式,分别是RDB和AOF,今天就介绍下这两种持久化方式以及原理 一、RDB 1、介绍 rdb是一种快照式的存储也是redis默认的持久化策略,它将内存中的数据持久化到磁盘中且能做到不影响redis ......
Springboot 整合 SpringCache 使用 Redis 作为缓存
一直以来对缓存都是一知半解,从没有正经的接触并使用一次,今天腾出时间研究一下缓存技术,开发环境为OpenJDK17与SpringBoot2.7.5 源代码下载地址:https://hanzhe.lanzoue.com/iK4AF0hjl3lc SpringCache基础概念 接口介绍 首先看看Spr ......
【性能优化】单一接口优化过程全记录(主要涉及Redis)
接口优化过程记录 问题背景 某个接口耗时长(247ms),但里面逻辑不算复杂,只进行了简单的对象引用以及操作了多次Redis 步骤1:链路追踪,确定业务耗时点 接口里通过链路追踪以及日志查询发现主要是操作Redis的这条链路耗时变长 步骤2:从Redis找问题,列出可能点 原因可能是: Redis本 ......