数据库及缓存之MySQL(一)

news2024/11/29 13:35:07

思维导图

常见知识点

1.mysql存储引擎:

在这里插入图片描述


2.innodb与myisam区别:

在这里插入图片描述

3.表设计字段选择:

在这里插入图片描述

4.mysql的varchar(M)最多存储数据:

在这里插入图片描述

5.事务基本特性:

在这里插入图片描述

6.事务并发引发问题:

在这里插入图片描述

7.mysql索引:

在这里插入图片描述


8.三星索引:

在这里插入图片描述


9.innodb一颗b+树存放可以存放多少行数据:

在这里插入图片描述

10.如何提高insert性能:

在这里插入图片描述


11.全局锁、共享锁、排他锁:

在这里插入图片描述

12.mysql死锁:在这里插入图片描述


13.读写分离

1.1 主从复制结构

一主一从、一主多从、双主复制、级联复制、双主级联

1.2 原理

MySQL Replication:从服务器拉取主服务器的二进制日志文件–bin-log,再解析成失去了语句并执行从而保证数据一致性。属于异步复制(5.7以上添加半同步)。

读写分离参考链接


14.分库分表

14.1 分表(单分库原理一样把表换成库)

通过id%100(id取模表数数量,如果是uuid则进行hash获取整数值再取模)算出哪张表,
再通过 select * from table_1 where id= 101查询数据,
或者直接在MyBatis配置好:

<select id="getOrder" resultMap="BaseResultMap">
    select * from order_${tableNum}
    where user_id = #{userId}
  </select> 

14.2 分库分表

常见路由策略:

1、中间变量 = id%(库数量*每个库的表数量);
2、库序号 = 取整(中间变量/每个库的表数量);
3、表序号 = 中间变量%每个库的表数量;

例: id为200,885,应分配到第8个数据库的第85张数据表中(库和表都是从0开始算起即序号0-9数据库,每个数据库的序号0-99数据表)

1、中间变量 = 200,885%10*100= 885;
2、库序号 = 取整 (885100= 8;
3、表序号 = 885100 = 85;

分库分表参考链接

15.海量数据解决方案

15.1 使用缓存

设置key随机过期时间

设置热点key永不过期

设置限速、ngnix单个ip单位时间内访问次数

设置不合法参数直接返回、缓存及数据库都没有的数据值为null、布隆过滤器

设置redis主从复制+哨兵机制、集群

合适的过期策略

15.2 页面静态化技术

前后端分离

nodejs提供路由向后端请求数据,然后在浏览器对数据渲染(而非后台服务器进行渲染才返回前端浏览器进行解析执行)
静态化

HTML、CSS、JS、图片等放在CDN或Ngnix服务器

在这里插入图片描述

15.3 数据库优化

表结构优化

sql优化

分表

分库或分区

索引优化

存储过程代替直接操作

15.4 分离数据库中活跃的数据

使用缓存、分离出僵尸用户级数据等

15.5 批量读取和延迟修改

批量读取:多次查询合并到一次查询、异步方式
延迟修改:高并发且修改频繁数据,先将数据保存到缓存中,再定时保存到数据库中,读取时可以同时读取数据库中及缓存中数据

15.6 读写分离

在这里插入图片描述

15.7 使用Nosql和Hadoop等技术

如mongDB

15.8 分布式部署数据库

在这里插入图片描述

15.9 应用服务和数据服务分离

在这里插入图片描述

15.10 使用搜索引擎搜索数据库中的数据

ELK stack

15.11 业务拆分




本篇文章主要参考链接如下:

参考链接1-King说Java

参考链接2-JavaGuide



随心所往,看见未来。Follow your heart,see light!

欢迎点赞、关注、留言,一起学习、交流!

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

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

相关文章

常见的分类算法及分类算法的评估方法

文章目录贝叶斯分类法&#xff08;Bayes&#xff09;决策树&#xff08;Decision Tree&#xff09;支持向量机&#xff08;SVM&#xff09;K近邻&#xff08;K-NN&#xff09;逻辑回归&#xff08;Logistics Regression&#xff09;线性回归和逻辑回归的区别神经网络&#xff0…

JavaWeb12-线程通讯(线程等待和唤醒)

目录 1.方法介绍 1.1.wait()/wait(long timeout)&#xff1a;让当前线程进入等待状态。 1.1.1.wait执行流程 1.1.2.wait结束等待的条件 1.1.3.wait() VS wait(long timeout) 1.1.4.为什么wait要放在Object中&#xff1f; --->PS&#xff1a;wait(0) 和 sleep(0) 的区…

算法训练营 day52 动态规划 买卖股票的最佳时机系列1

算法训练营 day52 动态规划 买卖股票的最佳时机系列1 买卖股票的最佳时机 121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票…

VR全景多种玩法打破传统宣传,打造全新云端视界

传统的展示方式只是在进行单方面的表达&#xff0c;不论是图片、视频&#xff0c;都无法让浏览者有参与感&#xff0c;这样的展示宣传效果自然比不上VR全景展示&#xff0c;VR全景基于真实场景来形成三维图像&#xff0c;其沉浸式和无视野盲区的特点让用户更有真实感和沉浸感&a…

python -- 魔术方法

魔术方法就算定义在类里面的一些特殊的方法 特点&#xff1a;这些func的名字前面都有两个下划线 __new__方法 相当于一个类的创建一个对象的过程 __init__方法 相当于为这个类创建好的对象分配地址初始化的过程 __del__方法 一个类声明这个方法后&#xff0c;创建的对象如果…

九龙证券|创业板向未盈利企业敞开大门 考验投行估值定价能力

未盈余企业上市有了新选择。2月17日&#xff0c;全面实行股票发行注册制相关准则规矩发布施行。深交所发布《深圳证券交易所创业板股票上市规矩&#xff08;2023年修订&#xff09;》及《关于未盈余企业在创业板上市相关事宜的告诉》&#xff0c;“预计市值不低于50亿元&#x…

设计模式C++实现23:中介者模式(Mediator)

部分内容参考大话设计模式第25章&#xff1b;本实验通过C语言实现。 一 原理 意图&#xff1a;用一个中介对象来封装一系列对象的交互&#xff0c;中介者使得各个对象不需要显示地相互引用&#xff0c;从而使耦合松散&#xff0c;而且可以独立地改变它们之间的交互。 上下文…

OCR项目实战(一):手写汉语拼音识别(Pytorch版)

&#x1f468;‍&#x1f4bb;作者简介&#xff1a; 大数据专业硕士在读&#xff0c;CSDN人工智能领域博客专家&#xff0c;阿里云专家博主&#xff0c;专注大数据与人工智能知识分享。 &#x1f389;专栏推荐&#xff1a; 目前在写一个CV方向专栏&#xff0c;后期会更新不限于…

git merge和git rebase命令

参考链接&#xff1a;https://www.cnblogs.com/michael-xiang/p/13179837.html 学习背景&#xff1a;已经学习过git&#xff0c;但是实践较少&#xff0c;未和他人协作 1.merge git merge表示把当前分支合并到版本库中下拉的远程分支上。 git merge A B表示把A分支合并到B上…

DACS: Domain Adaptation via Cross-domain Mixed Sampling 学习笔记

DACS介绍方法Naive MixingDACSClassMix![在这里插入图片描述](https://img-blog.csdnimg.cn/ca4f83a2711e49f3b754ca90d774cd50.png)算法流程实验结果反思介绍 近年来&#xff0c;基于卷积神经网络的语义分割模型在众多应用中表现出了显著的性能。然而当应用于新的领域时&…

2250216-92-1,Propargyl-PEG3-triethoxysilane,炔基-三聚乙二醇-三乙氧基硅烷,具有高效稳定和特异性

【中文名称】炔基-三聚乙二醇-三乙氧基硅烷【英文名称】 Propargyl-PEG3-triethoxysilane【结 构 式】【CAS号】2250216-92-1【分子式】C19H37NO7Si【分子量】419.59【基团部分】炔基基团【纯度标准】95%【包装规格】1g&#xff0c;5g&#xff0c;10g&#xff0c;可以提供核磁图…

Zebec生态持续深度布局,ZBC通证月内翻倍或只是开始

“Zebec生态近日利好不断&#xff0c;除了推出了回购计划外&#xff0c;Nautilus Chain、Zebec Labs等也即将面向市场&#xff0c;都将为ZBC通证深度赋能。而ZBC通证涨幅月内突破100%&#xff0c;或许只是开始。”近日&#xff0c;流支付生态Zebec生态通证ZBC迎来了大涨&#x…

计算机网络的166个核心概念,你知道吗?

上回我整理了一下计算机网络中所有的关键概念&#xff0c;很多小伙伴觉得很有帮助&#xff0c;但是有一个需要优化的点就是这些概念不知道出自哪里&#xff0c;所以理解起来像是在云里穿梭&#xff0c;一会儿在聊应用层的概念&#xff0c;一会儿又跑到网络层协议了。针对这种情…

小学生学Arduino---------点阵(二)动态图片以及文字

今天进阶了利用人眼视觉暂留原理制作动态的图片变换。 1、熟练掌握图片显示器的使用 2、创作多种动态图片、文字的显示 3、明确动态图片、文字显示过程 4、掌握图片显示器中清空指令的使用 5、搭建动态图片、文字的显示电路 6、编写动态图片、文字的程序 复习&#xff1a; 绘…

@Slf4j注解的使用

1.Slf4j的作用&#xff1f; 很简单的就是为了能够少写两行代码&#xff0c;不用每次都在类的最前边写上&#xff1a; private static final Logger logger LoggerFactory.getLogger(this.XXX.class); 我们只需要在类前面添加注解Slf4j&#xff0c;即可使用log日志的功能了 2.…

美格智能与宏电股份签署战略合作协议,共创5G+AIoT行业先锋

2月17日&#xff0c;美格智能技术股份有限公司CEO杜国彬及相关业务负责人员一行到访深圳市宏电技术股份有限公司总部大厦参观交流&#xff0c;并参加了主题为“聚势同行、合创未来”宏电股份与美格智能2023年IoT产业生态合作研讨会&#xff0c;受到了宏电股份总裁张振宇及相关业…

手写Promise方法(直击Promise A+规范)

前言&#xff1a;大家好&#xff0c;我是前端獭子。高效优雅是我的创作方式。学习是一个渐进的过程&#xff0c;要把知识串联起来才能解决某一方面的问题。 Promise 构造函数 我们先来写 Promise 构造函数的属性和值&#xff0c;以及处理new Promise()时会传入的两个回调函数。…

【Git】IDEA集合Git和码云

目录 7、IDEA集合Git 7.1 配置Git忽略文件-IDEA特定文件 7.2 定位 Git 程序 7.3 初始化本地库 7.4 添加到暂存区 7.5 提交到本地库 7.6 切换版本 7.7 创建分支 7.8 切换分支 7.9 合并分支 7.10 解决冲突 8、 Idea集成码云 8.1 IDEA 安装码云插件 8.2 分析工程到码…

QHashIterator-官翻

QHashIterator Class template <typename Key, typename T> class QHashIterator QHashIterator 类为 QHash 和 QMultiHash 提供 Java 风格的常量迭代器。更多内容… 头文件:#include qmake:QT core 所有成员列表&#xff0c;包括继承的成员废弃的成员 公共成员函数…

硫酸锂溶液除钙镁树脂系统

H-93锂盐净化除钙镁镁螯合树脂是包含氨甲膦酸基连接到聚苯乙烯共聚物的一种耐用的大孔树脂。 CH-93是用于锂盐净化除钙镁从含有一价阳离子的废水处理中选择性的除去二价金属阳离子。使二价金属阳离子以及由其他二价阳离子可以像钙一样容易地从一价阳离子中分离出来。 CH-93是…