Xxxxxx

数据库

1,B树与B+树区别

1,B树每个节点存ID与其他数据字段,B非叶子结点,只存ID,叶子结点存完整数据

好处:每个层级B+树,可以存储更多的额数据,层级更少,更扁平,查询效率更高

2,B+树,叶子结点之间通过指针前后关联,B树叶子结点数据之间没有关联关系

(B+树的叶子节点之间是由双向指针相连的)

B+更好与针对范围查找和排序

 2,数据库锁

行锁

又可以细分,记录锁/间隙锁/临键锁

  1. 行锁必须有索引才能实现,否则会自动锁全表,那么就不是行锁了
  2. 两个事务不能锁同一个索引

1,又称记录锁,对主键和唯一索引进行加锁,

2,间隙锁

加锁范围是一个或几个区间的数据,不包含操作记录本身,为不存的记录加锁,防止产生幻读

比如数据库中有1,5,9三条数据,更新id=5的数据,那么有4个区间

-无穷大-1,1-5, 5-9,9+无穷大,锁住的是这四个区间,避免其他事物往这四个区间加锁

解决rr级别下,部门幻读问题。

3,临键锁

理解为行锁+间隙锁组合

与间隙锁区别:加锁范围是一个或几个区间的数据,包含操作当前记录本身

举一个例子:更新id > 10的数据,进行范围更新,

rr级别下默认情况下使用临键锁加行锁,根据不同情况调整,记录锁,间隙锁,表锁

具体场景

唯一索引,记录锁

无索引,表锁

唯一列,等值查询,数据不存在,间隙锁,如表中存在2,9两个数据,查询id=5的数据,会锁住2,9这个区间

非唯一索引等值查询...

临键锁,更新id>=100的数据,表中存在100,110,锁住100-110,110到+无穷大

Mysql学习(二)-- 事务和锁_行锁和事务-CSDN博客

TPS

服务端每秒处理的查询数量,针对后端,可以理解为每秒数据库的查询次数

QPS

服务端每秒处理的事务数

一个接口为例,包含业务逻辑,调用第三方,数据库查询三个步骤,那秒完成这N个三个步骤数量

一个事务是指一个客户机向服务器发送一起完整的 开始 start 请求,内部各种ACID  事务属性的 并发数据操作, 最后 提交一个commit操作结束整个Transaction的过程。

架构设计内容分享(一):什么是QPS,TPS,RT?_qps tps-CSDN博客

分布式事务

百度安全验证

2PC 3PC TCC seata

RPC VS http 区别

1,RPC长链接

2,协议,RPC不依赖具体协议可以是TCP UDP,http基于http协议

3,数据格式,RPC通过二进制传输,更高效序列化和反序列化,如Protocol、Buffers、Thrift。http使用文本格式传输,JSON/xml,传输占用更多的宽带和时间。

  • 速度来看,RPC要比http更快,虽然底层都是TCP,但是http协议的信息往往比较臃肿
  • 难度来看,RPC实现较为复杂,http相对比较简单
  • 灵活性来看,http更胜一筹,因为它不关心实现细节,跨平台、跨语言因此,两者都有不同的

使用场景

  • 如果对效率要求更高,并且开发过程使用统一的技术栈,那么用RPC还是不错的。
  • 如果需要更加灵活,跨语言、跨平台,显然http更合适

https://www.cnblogs.com/helloworldmybokeyuan/p/11626833.html

【每日一问】RPC 调用和 HTTP 调用的区别_rpc调用和http调用的区别-CSDN博客

线程池

单个接口介绍

1,Executor(I) 
void execute(Runnable command)

2,ExecutorService(I) 
<T> Future<T> submit(Callable<T> task);
Future<?> submit(Runnable task);
<T> Future<T> submit(Runnable task, T result);
3,AbstractExecutorService(abs class)

4,ThreadPoolExecutor(class)

继承关系

1,ExecutorService extends Executor

2,AbstractExecutorService implements ExecutorService

实现ExecutorService submit方法,最终调用的还是Executor中execute()方法

3,ThreadPoolExecutor extends AbstractExecutorService

实现Executor中execute方法

execute和submit的区别_submit和execute-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码块的理解

如果成员变量想要初始化的值不是一个硬编码的常量值&#xff0c;而是需要通过复杂的计算或读取文件、或读取运行环境信息等方式才能获取的一些值&#xff0c;该怎么办呢&#xff1f;此时&#xff0c;可以考虑代码块&#xff08;或初始化块&#xff09;。 代码块(或初始化块)的作…

【Linux】IO多路转接

文章目录 一、selectselect函数select基本工作流程select的优缺点select的适用场景 二、pollpoll函数poll的优缺点 三、epollepoll相关系统调用epoll工作原理epoll的优点epoll工作方式对比LT和ET 一、select select是系统提供的一个多路转接接口。 select系统调用可以让我们的…

(echarts)vue中循环生成多个相同的echarts图表,但数据动态、第一次渲染失败问题

(echarts)vue中循环生成多个相同的echarts图表&#xff0c;但数据动态 效果&#xff1a; 代码&#xff1a; <!-- 动态图表 --> <el-row :gutter"20"><el-col v-for"(item,index) in echartsList" :key"index" :span"10&quo…

wordpress课程项目主题电脑版+手机版自适应

这款主题适合做资源、课程、素材等&#xff0c;演示站&#xff1a;点击查看

openwrt开发包含路由器基本功能的web问题记录

1.这里的扫描怎么实现的先找一些luci代码&#xff0c;在openwrt21版本后&#xff0c;luci用js替换了lua写后台&#xff0c;先找一些代码路径 在openrwt15这部分代码是在这个目录下 feeds/luci/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm 里面包含…

javaWeb旅游网站设计

一、概述 1.1 项目研究背景 社会经济的发展和提高潜移默化的影响了人们对精神消费的日益看中与提高&#xff0c;所以越来越多的人们开始选择更健康有趣的生活活动&#xff0c;随之而来的旅游便成了人们消费的必选。随着旅客需求的日趋丰富和个性化&#xff0c;这势必将推动我…

理解main方法的语法

由于JVM需要调用类的main()方法&#xff0c;所以该方法的访问权限必须是public&#xff0c;又因为JVM在执行main()方法时不必创建对象&#xff0c;所以该方法必须是static的&#xff0c;该方法接收一个String类型的数组参数&#xff0c;该数组中保存执行Java命令时传递给所运行…

【零基础C语言】编译和链接

1.翻译环境和运行环境 翻译环境&#xff1a;将源代码转化为可执行的机器指令 运行环境&#xff1a;用于执行机器指令 1.1 翻译环境 翻译环境由编译和链接两大过程构建&#xff0c;编译又可以分为三大过程&#xff1a; 【1】预处理(预编译) 【2】编译 【3】汇编 不同的.c文件经…

计算机网络_工具

从你的电脑到指定ip网站&#xff0c;用时3ms ttl TTL Time To Live 数据包存活时间 指一个数据包在经过一个路由器时&#xff0c;可传递的最长距离&#xff08;跃点数&#xff09;。每当数据包经过一个路由器时&#xff0c;其存活次数就会被减一 256 - 249 7&…

什么!Intel/AMD/Apple Silicon也能本地部署的Llama工具来了

主流的LLM都需要通过CUDA才能高效的运行在本地&#xff0c;但是随着Github上出现了Llama.cpp这个神器&#xff0c;一切都改变了。它通过AVX指令和MPI来实现CPU上并行计算&#xff0c;从而在本地计算机高效地运行各种主流的类Llama模型。同时它也支持metal&#xff0c;使得Apple…

Mybatis的SQL高级查询与各符号用法

test语句里面的logparam是Mapper层传入的参数&#xff0c;读取logparam的属性不用再用#{}符号表示。 如果需要计算的式子很长&#xff0c;那么可用${}表示里面的式子是计算式&#xff0c;需要进行计算操作。同样不用通过#{logparam.Page}来读取logparam的Page属性的值&#xff…

第19次修改了可删除可持久保存的前端html备忘录:换了一个特别的倒计时时钟

第19次修改了可删除可持久保存的前端html备忘录:换了一个特别的倒计时时钟 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><met…

合同约定的绩效奖金说不给就不给了, 这合法吗?

目录 一、北京海淀法院参考案例 二、关于绩效奖金的性质&#xff1f; 三、绩效奖金应否发放取决于哪些因素&#xff1f; 四、员工如何举证与质证 五、提前离职的员工 是否享受当年度绩效奖金&#xff1f; 一、北京海淀法院参考案例 https://mp.weixin.qq.com/s/sq0mFCC8M…

微信开发者工具编译后,页面空白,Wxml内容为空

最近遇到了一个奇怪的问题&#xff0c;使用的uniapp运行的微信小程序&#xff0c;改动代码保存后页面就变成空&#xff0c;接口调用一切正常&#xff0c;Wxml内容为空。如下图 重新编译后&#xff0c;偶尔会报这个错误 根据错误提示&#xff0c;尝试了以下方法也没有用。 更…

使用OpenCV4.9的随机生成器和文本

返回&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 上一篇&#xff1a;OpenCV 4.9基本绘图 下一篇&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 目标 在本教程中&#xff0c;您将学习如何&#xff1a; 使用随机数生…

STM32 移植 LVGL -- 教程图解

&#xff08; 编辑状态中&#xff0c;已完成80%&#xff0c;估计清明假期后完成更新 ) 移植效果&#xff0c;先睹为快&#xff1a; 目录 一、LVGL 简述 二、准备一个STM32的工程 三、LVGL 官方下载 四、裁剪 源文件 五、添加 源文件 六、注册 显示 七、注册 触摸输入 八…

【flutter封装图片/视频选择控件】

引入库 wechat_assets_picker: ^6.0.5 、video_player: ^2.5.1 # 视频播放、 flutter_screenutil: ^5.7.0 import dart:async; import dart:io; import package:generated/l10n.dart; import package:jade/configs/PathConfig.dart; import package:jade/customWidget/addImag…

The Sandbox 的伙伴们| K-verse 3: Eternal Fandom 的合作伙伴介绍

准备好参加韩国合作伙伴最盛大的聚会吧&#xff0c;就在The Sandbox&#xff01;这是一个前所未有的与你最喜爱的品牌建立联系的绝佳机会。 Otherworld Web 3.0 社交 "Otherworld "的首个数字空间 国内领先网络动漫和娱乐 IP 汇聚并扩展的元宇宙 Otherworld 正在为 …

高级DBA带你解决Mysql主从集群主库产生过多binlog文件引起生产服务器硬盘爆满处理方法实战全网唯一

高级DBA带你解决Mysql主从集群产生过多binlog文件引起生产服务器硬盘爆满处理方法实战全网唯一 一、事故描述 生产环境数据库服务器突然硬盘爆满报警&#xff0c;业务停止&#xff0c;监控短信过来了&#xff0c;一看硬盘满了&#xff0c;再看数据库文件路径一大堆binlog文件…

Redis 主从复制,哨兵模式,集群

目录 主从复制 主从复制 作用 缺陷 主从复制流程 实现Redis主从复制 哨兵模式 主从复制切换的缺点 哨兵的核心功能 哨兵模式原理 哨兵模式的作用 哨兵结构组成 故障转移机制 主节点的选举 实现哨兵模式 集群(Cluster) redis群集有三种模式&#xff0c;主从复制…