09 2021 档案
摘要:什么是MVCC MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。 我们知道,一般情况下我们使用mysql数据库的时候使用的是InnoDB引擎,I
阅读全文
摘要:两阶段提交 mysql中经常说的WAL技术,WAL的全称是write-ahead logging,它的关键点就是先写日志,再写磁盘。即当有一条记录需要更新时,InnoDB引擎就会先把记录写道redo log里,并更新内存,这个时候更新就完成了。因为如果每一次的更新操作都需要写磁盘,然后磁盘也要 找到
阅读全文
摘要:缓存穿透 缓存穿透是指缓存和数据库都没有的数据,用户不断发起请求。由于缓存是不命中时被动写的,并且处于容错考虑,如果从存储层查不到数据则不写入缓存,这样导致一个不存在的数据每次请求都要到存储层去查询,失去缓存的意义。 再流量大时,可能DB挂掉,如果有人利用不存在的key频繁攻击,这就是漏洞。 解决方
阅读全文
摘要:在高并发的业务场景下,数据库大多情况都是用户并发访问量最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先让问到redis,而不是直接访问mysql等数据库。这样可以 大大缓解数据库的压力。redis缓存数据的加载可以分为懒加载和主动加载两种模式,下面 分别介绍 在这两种模式下的数据一致
阅读全文
摘要:https://blog.csdn.net/qq_41999455/article/details/104946754
阅读全文
摘要:表数据和主键一起存储 聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个 聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续 聚集索引:物理存储按照索引排序;聚集索引是一种索引组织形式,索引的键值逻辑顺序决定了表数据行的物理存储顺序。 非聚集索引:物理存储不按照索引
阅读全文
摘要:锁是计算机协调多个进程或线程并发访问某一个资源的机制,锁保证数据并发访问的一致性、有效性;锁冲突也是影响数据库并发访问性能的一个重要因素。锁是mysql在服务器曾和存储引擎层的并发控制。 枷锁是消耗资源的、锁的各种操作,包括获得锁、检测锁是否是否已接触、释放锁等。 锁机制 共享锁和排他锁 共享锁(读
阅读全文
摘要:一、冒泡算法 冒泡排序(Bubble sort)是一种简单的排序算法,它重复的走访过要排序的数列,依次比较两个元素,如果他们的顺序错误就把他们交换过来,走访数列的的工作是重复的进行直到没有再需要的交换,也就是说该数列已经完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 步骤
阅读全文
摘要:sql的join语法有很多,inner、outer、left、right等 假如有2张表,table A是左边的表,table B是右边的表,其中有4条记录,其中有两条记录name是相同的,如下所示:让我们看看不同JOIN的不同 1.inner join SELECT * FROM TableA I
阅读全文
摘要:bitmap原理 bitmap是什么?在计算机中一个字节(byte)=8位(bit),这里的bit就是位,数据的最小表示单位,map一般是表示地图或者映射。 简单回顾一下二进制的一些知识: 1byte=8bit 1个bit有二种状态:0或1 所以1个byte可以表示00000000->1111111
阅读全文
摘要:一、代理配置服务说明 1.当代理遇到状态码404时,将404页面指向百度 error_page 404 https://www.baidu.com; #错误页 然后这个配置,细心的朋友发现它并没有起作用,如果想让它起作用,我们必须配合着下面的配置一起使用 proxy_intercept_errors
阅读全文
摘要:一、nginx工作原理 1.nginx采用异步非阻塞的工作方式 epoll模型:当I/O事件发生时,epoll就会告诉进程哪个事件由I/O事件产生,然后进程就会处理这个事件。 nginx配置use epoll后,以异步非阻塞方式工作,能够处理百万计的并发连接。 2.处理过程: 每进来一个请求,会由一
阅读全文
摘要:一、单例模式 确保一个类只有一个实例 特点: 三私一公:私有静态属性(存放实例)、私有构造方法(防止创建实例)、私有克隆方法(防止克隆对象)、公有静态方法(对外提供实例) 一个类只有一个实例 必须自行创建这个实例 自行像整个系统提供这个实例 应用场景:避免大量new操作消耗资源,减少数据库连接 <?
阅读全文
摘要:PHP-FPM对三种子进程的管理模式 1.pm=static 静态。始终保持一个固定数量的子进程,这个数由(pm.max_childrem)定义,这种方式很不灵活,通常不是默认的 2.pm=dynamic 动态。子进程的数量在下面配置的基础上动态设置:pm.max_children、pm.start
阅读全文
摘要:MySQL Binlog日志有三种格式: Statement ROW MiXED 查看Binlog使用格式命令:show global variables like %binlog_format% 设置Binlog使用格式命令:set global binlog_format=statement 三
阅读全文
摘要:TCP: 传输控制协议(传输层协议),全双工。提供面向连接的、可靠的字节流服务。即客户端和服务端交换数据前,必须先在双方建立TCP连接之后才能传输数据 ,并提供超时重发、丢弃重复数据、检验数据、流量控制等功能,保证数据能从一端传递到另一端。 TCP三次握手: 第一次握手:主机A通过向主机B发送一个同
阅读全文
摘要:数据块,innodb要缓存,myisam只缓存索引块,这中间还有换进换出的减少 innodb寻址要映射到块,再到行,myisam记录的直接是文件的offset,定位比innodb要快 innodb要维护mvcc一致,需要检查和维护mvcc
阅读全文
摘要:简介: 超文本传输协议,基于请求与响应模式、无状态、应用层面向对象的协议,基于TCP的连接方式,主要特点如下: 支持客户端/服务器模式 简单快速:客户端向服务器发送请求服务时,只需传递请求方式和路径。通信速度较快 灵活:HTTP允许传输任意类型的数据对象,正在传输的类型由conteng-type标记
阅读全文
摘要:二叉查找树: 特性:左子树的键值小于根的键值,右子树的键值大于根的键值,下图是一个二叉查找树 对该二叉树进行查找发现深度为1的节点查找次数是1,深度为2的查找次数为2,查找为n的节点查找次数为n,因此平均查找次数为(1+2+2+3+3+3)/6=2.3次。 二叉树可以任意的构造,同样是2,3,5,6
阅读全文
摘要:xss攻击:跨站脚本攻击 xss防御:1.对用户输入内容进行转义, 2.对空格、单引号、双引号进行转移, 3.维护特殊字符黑名单进行过滤, 4.csp(内容安全策略)是一种以可信白名单机制来限制网站中是否可以包含某来源内容 SQL注入:1.使用pdo方式 2.对特殊内容进行转义、过滤 3.sql预处
阅读全文
摘要:1.分库,mysql服务平行扩展,分散压力 2.读写分离,一主多从。 3.增加cache,降低mysql压力 4.业务库分离到不同物理服务器 5.增加服务器配置 6.sync_binlog在slave端设置为0 7.禁用slave的binlog
阅读全文
摘要:1.zval(变量)使用栈内存 变量在底层是zval指针,之前php版本通过MAKE_STD_ZVAL动态的从堆内存上分配zval内存,php7使用栈内存分配,从而减少一次内存分配 2.使用zend_string存储hash值,array查询不再需要重复计算hash 之前版本array的key的值每
阅读全文

浙公网安备 33010602011771号