Redis MySQL小结

问题1:Redis为什么高效?

答:基于内存,reactor,value的数据组织(五种数据结构),KV的数据组织方式(渐进hash)

问题2:跳表是什么?和红黑树的区别是什么?

答:跳表是一个多层级有序链表,查找时间复杂度是和二分一样的O(log2n)。查询是从上层开始的跳跃查询一直找到目标节点。插入节点的时候,redis采用的是随机层高,有1/4的概率往上升,最高规定是32层。

        区别主要在于,跳表的底层是包含所有数据的,适合范围查询,比红黑树效率要高。但是跳表是概率型的数据结构,只有样本数比较多才趋近于log,否则效率不如红黑树。

问题3:aof和rdb的区别是什么?

答:围绕持久化的内容、相同数据量情况下谁的文件大谁的文件小、谁的恢复速度快谁的慢。

问题4:fork写时复制的原理是什么?

答:从父进程fork一个子进程,会把页表直接复制给子进程,同时将两份页表的页表项修改为只读状态,因为是一样的页表,所以指向的是同一片内存。比如当父进程进行修改操作,会触发写保护中断,写保护中断会触发物理内存的复制,然后通过缺页中断修复映射关系,指向复制的内存区域。最后再把父进程的页表项修改为可读可写,子进程的没有修改

问题5:索引分类

答:按数据结构划分:B+树索引、Hash索引、全文索引

        按物理存储划分:聚集索引、辅助索引

        按列属性划分:主键索引、唯一索引、普通索引、前缀索引

        按列的个数划分:单列索引、组合索引

问题6:索引的代价是什么?

答:围绕空间代价和维护代价展开。每一个索引都是一个B+树,如果要修改一个字段的话,可能要修改多个B+树。

问题7:innodb为什么采用B+树,不采用红黑树

答:因为B+树底层有所有的数据,可以支持范围查询。

       因为B+树是多路平衡搜索树比红黑树二路更多,可以降低层高,减少io次数。

       

问题8:MVCC的实现原理

答:为每行数据保存多个版本的快照,对要读数据的事务提供对应符合条件的快照。具体的条件就是在拍摄快照的时候,产生的Read View数据结构的 内部变量关系。当

trx_id < min_trx_id   和  min_trx_id < trx_id < max_trx_id && trx_id 不属于 m_ids

为事务间可见。

问题9:不可重复读和幻读的精准区别是什么?

答:两次读结果不一样,是不可重复读,本质是读到了已经提交的数据。两次读到的数据集合不一样,是幻读,本质是当前读和快照读的不一致。

补充:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/100296.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/100296.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flink on YARN 实战问题排查指南(精华版)

一、客户端常见问题速查 ‌1. JAR加载失败终极解法‌报错提示&#xff1a;"Could not build the program from JAR file" 核心原因&#xff1a;80%的情况是Hadoop依赖缺失 黄金配置&#xff1a;export HADOOP_CONF_DIR${HADOOP_HOME}/etc/hadoop export HADOOP_CLASS…

迅为RK3576开发板Android12制作使用系统签名

配套资料在网盘资料“iT0P-RK3576 开发板\02_【iTOP-RK3576 开发板】开发资料\ 08Android 系统开发配套资料\ 07 Android 制作使用系统签名”目录下制作签名文件 在 Android 源码 build/make/target/product/security/下存放着签名文件&#xff0c;如下所示&#xff1a;将北京迅…

django连接minio实现文件上传下载(提供接口示例)

django连接minio实现文件上传下载&#xff08;提供接口示例&#xff09;项目环境前提1.模型创建2. 在 settings.py 中添加 MINIO 配置3.创建 MINIO 工具类4.创建序列化器5. 创建视图6. 配置 URL 路由7.接口测试项目环境前提 已安装python3.8以上环境已安装djangorestframework…

Kafka消息队列进阶:发送策略与分区算法优化指南

Kafka消息队列进阶&#xff1a;发送策略与分区算法优化指南 目录Kafka消息队列进阶&#xff1a;发送策略与分区算法优化指南摘要1. Kafka消息发送模式概述1.1 消息发送的核心流程1.2 三种发送模式对比2. 同步发送模式详解2.1 同步发送实现原理2.2 同步发送性能优化3. 异步发送模…

【VScode】ssh报错

【VScode】ssh报错1. ssh报错2. 解决1. ssh报错 Failed to parse remote port from server output 2. 解决 windows电脑删除 C:\Users\username\.ssh\known_hosts linux cd /home/username/.vscode-server/ rm -rf ~/.vscode-server重新回到Vscode连接ok

Grafana+Loki+Alloy构建企业级日志平台

1.日志系统介绍日志系统&#xff1a;GLA、ELK、数仓 ⽇志处理流程&#xff1a;采集 > 存储 > 检索 > 可视化日志系统工作流程&#xff1a;日志平台的目的&#xff1a;统一聚合分散的日志日志平台搭建方案&#xff1a;ELK&#xff1a;ElasticSearch:存储日志&#xff0…

老梁聊全栈系列:(阶段一)现代全栈的「角色边界」与「能力雷达图」

JAVA Vue/React 双栈工程师的「T 型→E 型」进化指南 接上篇《从单体到云原生的演进脉络》 大家好&#xff0c;我是技术老梁&#xff0c;这是系列文章的第五篇。欢迎大家讨论&#xff0c;分享经验。如果知识对你有用&#xff0c;关注我&#xff0c;多多支持老梁&#xff0c;鼓…

使用 C# 设置 Excel 单元格格式

在实际报表开发中&#xff0c;Excel 的可读性和美观性与数据本身同样重要。合理的单元格格式设置不仅能让数据一目了然&#xff0c;还能让报表显得更专业。通过使用 C#&#xff0c;开发者可以精确控制 Excel 文件的单元格样式&#xff0c;无需依赖 Microsoft Office。 本文演示…

Redis篇章3:Redis 企业级缓存难题全解--预热、雪崩、击穿、穿透一网打尽

在企业级应用场景中&#xff0c;Redis 作为高性能缓存利器&#xff0c;极大提升了系统响应速度&#xff0c;但随着业务复杂度和并发量的攀升&#xff0c;缓存相关的各类挑战也接踵而至。比如系统启动时缓存缺失导致的数据库压力、大量缓存同时失效引发的连锁故障、热点数据过期…

【数值分析】02-绪论-误差

参考资料&#xff1a; 书籍&#xff1a; 数值分析简明教程/王兵团&#xff0c;张作泉&#xff0c;张平福编著. --北京&#xff1a;清华大学出版社&#xff1b;北京交通大学出版社&#xff0c;2012.8 视频&#xff1a;学堂在线APP中北京交通大学“数值分析I” 前期回顾 【数值分…

P3918 [国家集训队] 特技飞行

P3918 [国家集训队] 特技飞行 - 洛谷 思路&#xff1a; 因为如果连续进行相同的动作&#xff0c;乘客会感到厌倦&#xff0c;所以定义某次动作的价值为(距上次该动作的时间) ci​&#xff0c;若为第一次进行该动作&#xff0c;价值为 0。同一个动作&#xff0c;价值为ci*(最后一…

Python爬虫实战:研究Pandas,构建期货数据采集和分析系统

1. 引言 1.1 研究背景 期货市场作为金融市场的重要组成部分,具有价格发现、风险管理和资源配置的重要功能。上海期货交易所(Shanghai Futures Exchange, SHFE)作为中国四大期货交易所之一,上市交易的品种包括铜、铝、锌、黄金、白银等多种大宗商品期货,其交易数据反映了…

Linux第十七讲:应用层自定义协议与序列化

Linux第十七讲&#xff1a;应用层自定义协议与序列化1.什么是序列化和反序列化2.重新理解read、write为什么支持全双工3.网络版计算器的实现3.1socket的封装 -- 模板方法模式引入3.2序列化和反序列化 && json3.3协议的实现3.4 服务端整体看 -- 所有代码3.5七层协议&…

附录:Tomcat下载及启动

一、打开Tomcat官网windows下载第四个压缩包&#xff0c;下载完成后解压缩。&#xff08;安装路径不要带有中文和特殊符号&#xff09;二、启动Tomcat进入bin文件夹&#xff1a;\Tomcat\apache-tomcat-11.0.11\bin&#xff0c;找到startup.bat文件点击&#xff0c;黑窗口常驻即…

【CTF-WEB】表单提交(特殊参数:?url=%80和?url=@)(通过GBK编码绕过实现文件包含读取flag)

题目 寻找这个单纯的网站的flag 前端代码&#xff1a; <!DOCTYPE html> <head><title>CAT</title> </head><body> <h1>Cloud Automated Testing</h1> <p>输入你的域名&#xff0c;例如&#xff1a;loli.club</p>…

(k8s)Kubernetes 资源控制器关系图

Kubernetes 资源控制器关系图 #mermaid-svg-da6tzgmJn70StNQM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-da6tzgmJn70StNQM .error-icon{fill:#552222;}#mermaid-svg-da6tzgmJn70StNQM .error-text{fill:#55222…

模电基础:场效应管

目录 一、场效应管概述 二、结型场效应管&#xff1a;基础场效应管 &#xff08;1&#xff09;基本结构&#xff1a;PN结导电沟道 &#xff08;2&#xff09;工作原理&#xff1a;耗尽区挤压沟道从而控制电流 &#xff08;3&#xff09;特性曲线 1.转移特性 2.输出特性 …

开发安全利器:detect-secrets 敏感信息扫描工具实战指南

在现代软件开发流程中&#xff0c;代码安全已成为不可忽视的重要环节。尤其是在 DevSecOps 的理念逐渐普及的今天&#xff0c;如何在开发早期就发现并消除潜在的安全隐患&#xff0c;成为每一个开发者和安全工程师必须面对的问题。其中&#xff0c;敏感信息泄露&#xff08;Sec…

数字经济专业核心课程解析与职业发展指南

在数字经济高速发展的时代&#xff0c;选择一门与未来趋势紧密关联的专业至关重要。数字经济专业作为新兴交叉学科&#xff0c;既涵盖传统经济理论&#xff0c;又融合了大数据、人工智能等前沿技术。想要在这一领域脱颖而出&#xff0c;考取权威证书是提升竞争力的有效途径。其…

使用yolo11训练航拍图片微小目标AI-TOD检测数据集无损压缩版YOLO格式14018张8类别已划分好训练验证集步骤和流程

【数据集介绍】我们基于公开的大规模航空图像数据集构建了AI-TOD&#xff0c;这些数据集包括&#xff1a;DOTA-v1.5的训练验证集[1]、xView的训练集[19]、VisDrone2018-Det的训练验证集[20]、Airbus Ship的训练验证集1以及DIOR的训练验证测试集[3]。这些数据集的详细信息如下&a…