自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

转载 MySQL大表优化

back_log:back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。也就是说,如果MySql的连接数据达到max_connections时,新来的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈的数量即back_log,如果等待连接的数量超过back_log,将不被授予连接资源。可以从默认的50升至500wait_timeout:数据库连接闲置时间,闲置连接会占用内存资源。可以从默认的8小时减到半小时。

2024-02-07 16:02:30 25

转载 初始消息队列

谈起消息队列,内心还是会有些波澜。,缓存,分库分表是高并发解决方案三剑客,而消息队列是我最喜欢,也是思考最多的技术。我想按照下面的四个阶段分享我与消息队列的故事,同时也是对我技术成长经历的回顾。初识:ActiveMQ进阶:Redis&RabbitMQ升华:MetaQ钟情:RocketMQ。

2022-11-01 10:05:34 160

转载 【无标题】MySQL六十六问,两万字+五十图详解!

MySQ Logo作为SQL Boy,基础部分不会有人不会吧?面试也不怎么问,基础掌握不错的小伙伴可以跳过这一部分。当然,可能会现场写一些SQL语句,SQ语句可以通过牛客、LeetCode、LintCode之类的网站来练习。MySQL的连接主要分为内连接和外连接,外连接常用的有左连接、右连接。MySQL-joins-来源菜鸟教程数据库三范式你设计遵守范式吗?三大范式的作用是为了控制数据库的冗余,是对空间的节省,实际上,一般互联网公司的设计都是反范式的,通过冗余一些数据,避免跨表跨库,利用空间换时间,提高性能

2022-06-22 12:36:28 615

转载 Nginx基本介绍+跨域解决方案

Nginx简介Nginx 是一款由俄罗斯的程序设计师 Igor Sysoev 所开发的高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,它的主要功能有:反向代理 负载均衡 HTTP 服务器目前大部分运行的 Nginx 服务器都在使用其负载均衡的功能作为服务集群的系统架构。功能说明在上文中介绍了三种 Nginx 的主要功能,下面来讲讲 具体每个功能的作用。一、反向代理(Reverse Proxy)介绍反向代理前,我们先理解下正向代理的概念。

2022-03-03 15:54:02 6713

转载 【无标题】mysql主库更新后,从库都读到最新值了,主库还有可能读到旧值吗?

我们知道,mysql数据库,为了得到更高性能,一般会读写分离,主库用于写操作,比如用于执行insert,update操作,从库用于读,也就是最常见的select操作。像下面这个图这样。mysql读写分离虽然主库一般用于写操作,但也是能读的。那么今天的问题来了。 主库更新后,主库都读到最新值了,从库还有可能读到旧值吗? 主库更新后,从库都读到最新值了,主库还有可能读到旧值吗? 毕竟面试官都这么问了,那当然是有可能的,那至于是为啥,以及怎么做到的,今天我们来好好聊聊。正常的主

2022-03-03 12:27:46 193

转载 面试官:Mysql 中主库跑太快,从库追不上怎么整?

写这篇文章是因为之前有一次删库操作,需要进行批量删除数据,当时没有控制好删除速度,导致产生了主从延迟,出现了一点小事故。今天我们就来看看为什么会产生主从延迟以及主从延迟如何处理等相关问题。坐好了,准备发车!- 思维导图-主从常见架构随着日益增长的访问量,单台数据库的应接能力已经捉襟见肘。因此采用主库写数据,从库读数据这种将读写分离开的主从架构便随之衍生了出来。在生产环境中,常见的主从架构有很多种,在这里给大家介绍几种比较常见的架构...

2021-01-20 09:15:00 165

转载 Linux用户和权限管理看了你就会用啦

前言只有光头才能变强回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了。这篇主要将Linux下的用户和权限知识点再整理一下。那么接下来就开始吧,如果文章有错误的地方请大家多多包涵,不吝在评论区指正哦~一、Linux下的用户Linux是一个多用户的系统,我们可以多个用户同时登陆Linux~ 账户实质上就是一个用户在系统上的标识。 Linux中的账户包括 用户账户 普通用户账

2020-11-26 14:44:55 645

转载 看完这篇Linux基本的操作就会了

前言只有光头才能变强这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~本文章主要是总结Linux的基础操作以及一些简单的概念~如果不熟悉的同学可下个Linux来玩玩(或者去买一个服务器玩玩【学生版的不是很贵】),对于开发者来说,能使用Linux做一些基本的操作是必要的!那么接下来就开始吧,当然了我的Linux仅仅是入门水平,如果有错的地方还需请大家多多包涵,并不吝在评论区指出错误~一、为什么我们要学习Linux相信

2020-11-26 14:41:51 259

转载 52张图入门Linux!

前面文章回顾(强烈建议观看 对入门极度友好) 工作中常用到的Linux命令 看完这篇Linux基本的操作就会了 用户和权限管理看了你就会用啦 Linux进程管理 Linux网络管理 Linux软件安装Linux排查问题套路Linux命令详解一 Linux通用知识说到操作系统,如果读大学的时候是计算机专业,那肯定就会上这门课,我猜测当时的你们想法是这样的 上大学使用的都是Windows系统,界面友好,上手快,习惯性的.

2020-11-26 14:38:45 178 1

转载 阿里面试:说说一致性读实现原理?

这个问题是我当初在面天猫的时候,2面的面试官问我的,我之前已经写过mvcc的文章了,但是在看到我笔记的里的这个问题的时候我准备单独理一遍,所以就有了这个文章。现在,主流关系型数据库产品基本都实现了MVCC的特性,快照在MVCC中起着重要的作用,代表某一时刻数据的版本,它是实现一致性读的基础。在更新操作没提交前,数据的前镜像存储在Undo中,利用Undo可以实现一致性读,事务回滚以及异常恢复等操作,下面就聊聊MySQL事务,MVCC,快照及一致读的原理与实现。MySQL中的事务事务在RDBMS系统

2020-11-24 11:19:01 183

原创 git学习总结

linux 命令行cdls / ls -a clearmkdirrmdirecho "hi, good day" > hi.txttouch hello.txt //创建文件cat hi.txt //打印文件内容 cat -n hi.txt 带行号打印rm hello.txt //删除文件vim hi.txt //vim编辑hi.txt 同 vi hi.txthelptar // tar --help 解压 tar -xvzf mypro.tat.gzwhoami //当

2020-11-20 16:18:48 233

转载 MySQL中,21个写SQL的好习惯

1. 写完SQL先explain查看执行计划(SQL性能优化)日常开发写SQL的时候,尽量养成这个好习惯呀:写完SQL后,用explain分析一下,尤其注意走不走索引。explainselectuserid,name,agefromuserwhereuserid=10086orage=18;2、操作delete或者update语句,加个limit(SQL后悔药)在执行删除或者更新语句,尽量加上limit,以下面的这条 SQL 为例吧:deletefrome...

2020-11-19 17:43:37 70

转载 敖丙带你设计【秒杀系统】

我之前写过一个秒杀系统的文章不过有些许瑕疵,所以我准备在之前的基础上进行二次创作,不过让我决心二创秒杀系统的原因是我最近面试了很多读者,动不动就是秒杀系统把我整蒙蔽了,我懵的主要是秒杀系统的细节大家都不知道,甚至不知道电商公司一个秒杀系统的组成部分。我之前在某电商公司就是做电商活动的,所以这样的场景和很多解决方案我是比较清楚的,那我就从我自身去带着大家看看一个秒杀的设计细节以及中间各种解决方案的利弊,以下就是我设计的秒杀系统,几乎涵盖了市面上所有秒杀的实现细节:正文首先设计一个系统之前,我们

2020-08-06 09:16:32 2477 1

转载 centos7 mysql 使用 navicat 远程连接

先安装MySQL(点击打开链接)然后进入MySQL,配置远程连接 mysql> use mysql; //进入mysql数据库 //将所有数据库的所有表(*.*)的所有权限(all privileges),授予通过任何ip(%)访问的root用户,密码为123456,如果要限制只有某台机器可以访问,将其换成相应的IP即可 mysql> grant all privileges on *.* to 'root'@'%' identified by'My...

2020-07-22 17:18:00 666

原创 MySQL 性能优化神器 Explain 使用分析

简介MySQL 提供了一个 EXPLAIN 命令, 它可以对SELECT语句进行分析, 并输出SELECT执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAINSELECT*fromuser_infoWHEREid<300;准备为了接下来方便演示 EXPLAIN 的使用, 首先我们需要建立两个测试用的表, 并添加相应的数据:CREATE TABL...

2020-07-22 15:57:57 152

原创 缓存穿透、缓存并发和缓存雪崩笔记

缓存穿透、缓存并发和缓存雪崩是常见的由于并发量大而导致的缓存问题。这里记录下其产生原因和解决方案。缓存穿透是由恶意攻击或无意造成的;缓存并发是由设计不足造成的;缓存雪崩是由缓存同时失效造成的。一、缓存穿透概念:缓存穿透指的是使用不存在的 key 进行大量的高并发查询,这导致缓存无法命中,每次请求都要穿透到后端数据库系统进行查询,使数据库压力过大,甚至使数据库服务被压死。解决方案:1、我们通常将空值缓存起来,再次接收到同样的查询请求时,若命中缓存并且值为空,就会直接返回,不..

2020-07-21 15:43:46 110

转载 外行人都能看懂的SpringCloud,错过了血亏!

一、前言只有光头才能变强认识我的朋友可能都知道我这阵子去实习啦,去的公司说是用SpringCloud(但我觉得使用的力度并不大啊~~)…所以,这篇主要来讲讲SpringCloud的一些基础的知识。(我就是现学现卖了,主要当做我学习SpringCloud的笔记吧!)当然了,我的水平是有限的,可能会有一些理解错的的概念/知识点,还请大家不吝在评论区指正啊~~SpringCloud ...

2020-04-15 10:39:48 203

转载 Redis从入门到精通

常用的 SQL 数据库的数据都是存在磁盘中的,虽然在数据库底层也做了对应的缓存来减少数据库的 IO 压力。由于数据库的缓存一般是针对查询的内容,而且粒度也比较小,一般只有表中的数据没有发生变动的时候,数据库的缓存才会产生作用。但这并不能减少业务逻辑对数据库的增删改操作的 IO 压力,因此缓存技术应运而生,该技术实现了对热点数据的高速缓存,可以大大缓解后端数据库的压力。主流应用架构...

2019-10-15 14:33:32 123

转载 C语言笔记

一、指针的概念1.1变量和地址 变量:直观来说,int a、char ch、float num这些都是声明变量,而a、ch、num就是变量 地址:在计算机中,内存被分为一小块一小块的,而每一块都有一个编号,叫做地址。 一般变量都存储在内存当中。而每块内存都有一个独一无二的地址,这个地址就是指针 如果把内存比作一个宾馆,在声明一个变量时(int a),就相当于在...

2019-09-29 15:02:05 106

转载 深入理解C语言指针

一、指针的概念要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号可以暂时理解为指针,就像酒店的门牌号一样。1.1、变量和地址先写一段简单的代码:void main(){ int x = 10, int y = 20;}这段代码非常简单,就是两个变量的声明,分别赋值了 10、20。我们把内存当做一...

2019-09-29 14:26:55 289

转载 Redis讲解

Redis 简介Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库Redis 与 其他 key - value 缓存产品有以下三个特点: Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis 不仅仅支持简单的 key - value 类型的数据,同时还提供 list,set,z...

2019-09-25 10:06:09 101

原创 了解Java泛型中的通配符 T,E,K,V

前言Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许开发者在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。泛型带来的好处在没有泛型的情况的下,通过对类型 Object 的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际...

2019-09-24 14:35:02 205

转载 MySQL - 多表查询

多表查询多表查询的分类1 连接查询 交叉连接:将一个表中的每一条数据和另一张表的每一条数据无条件连接。(了解) 语法1:select * from 表1 cross join 表2 [cross join 表3]... 语法2:select * from 表1,表2,...; 结果集:笛卡尔积:如果表1有3条数据,表2有5条数据,那么交叉连...

2019-09-09 18:12:58 620

转载 MySQL - 约束

约束 概念:限制表中的数据,保证数据的正确性、有效性和完整性。约束的分类单表约束: 非空约束:not null,规定某一列的数据不能为null. 唯一约束:unique,规定某一列的数据唯一不重复。 主键约束:primary key,规定某一列唯一不重复且不能为null,一般用来作为一条数据的唯一标识。 主键的特点:...

2019-09-09 18:08:41 127

转载 MySQL基础总结

数据库的概念以及sql通用语法 开启mysql服务器:win+R打开运行窗口,输入“services.msc”即可,推荐都自动开启。 登录和退出mysql登录本机的数据库:mysql -uroot -p管理员密码登录别人的数据库: mysql -h别人的ip地址 -uroot -p管理员密码退出数据:exit或者quit mysql数据目录1 数据库:本...

2019-09-09 18:04:53 157

转载 史上最牛最全分库分表方案!

一、数据库瓶颈不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务Service来看就是,可用数据库连接少甚至无连接可用。接下来就可以想象了吧(并发量、吞吐量、崩溃)。1、IO瓶颈第一种:磁盘读IO瓶颈,热点数据太多,数据库缓存放不下,每次查询时会产生大量的IO,降低查询速度 -> 分库和垂直分表。第二种...

2019-09-09 17:46:00 2148

原创 谈谈Mysql事务隔离级别

当我们的数据是引擎是InnoDB的时候。事务的隔离级别分为:未提交读(read uncommitted)、已提交读(read committed)、可重复读(repeatable read)、串行化(serializable)。未提交读未提交读的意思就是比如原先name的值是小刚,然后有一个事务B`update table set name = '小明' where id = 1`,它...

2019-09-09 17:40:08 163

转载 Linux上安装集群版Redis

【前言】 之前自己在Windows中玩过一段时间Redis(感兴趣的朋友可以看下-Redis系列博客),这次在项目中也有幸能负责起Redis,也由于前两天服务器硬盘损坏导致开发的Redis服务器重新装系统,自己有幸能重新装一遍集群版的Redis,在这个过程中还是遇到些小麻烦,在此总结一下,希望对各位读者有所帮助。【跌宕起伏安装流程】 一、说明: ...

2019-09-06 09:54:22 129

转载 可能是全网最好的MySQL重要知识点/面试题总结

这篇文章是作者利用几天时间对MySQL知识点总结完善后的产物,可以用来回顾MySQL基础知识以及备战MySQL常见面试问题。什么是MySQL?MySQL 是一种关系型数据库,在Java企业级开发中非常常用,因为 MySQL 是开源免费的,并且方便扩展。阿里巴巴数据库系统也大量用到了 MySQL,因此它的稳定性是有保障的。MySQL是开放源代码的,因此任何人都可以在 ...

2019-08-30 18:13:04 175

原创 开发中必须要掌握的 Git 技巧

前言本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考。因为水平有限,难免会有出错的地方,欢迎指正。Git是什么官方话:Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务。引用廖雪峰老师的话,它能自动帮我记录每次文件的改动,还可以让同事协作编辑,这...

2019-08-28 12:00:06 265

转载 常用的基础算法(必会)

优劣术语- 稳定性 原本a在b前,a=b,排序之后位置任然不变。不稳定性则相反- 内排序 所有排序都在内存中完成。外排序数据放磁盘,排序通过磁盘内存的数据传输- 事件复杂度 算法执行耗费的时间- 空间复杂度 算法执行耗费的内存In/out-place: 不占/占额外内存冒泡排序: - 比较相邻的元素。如果第一个比第二个大,就交换它们两个 - 对每一对相邻元素作...

2019-08-28 10:59:24 243

转载 [网络安全自学篇] 一.入门笔记之看雪Web安全学习及异或解密示例

最近开始学习网络安全相关知识,接触了好多新术语,感觉自己要学习的东西太多,真是学无止境,也发现了好几个默默无闻写着博客、做着开源的大神。准备好好学习下新知识,并分享些博客与博友们一起进步,加油。非常基础的文章,大神请飘过,谢谢各位看官!前文欣赏:[渗透&攻防] 一.从数据库原理学习网络攻防及防止SQL注入[渗透&攻防] 二.SQL MAP工具从零解读数据库及基础用法[渗透...

2019-08-28 10:57:36 784

原创 高并发之API接口限流

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时,需要暂时屏蔽掉,待高峰或者问题解决后再打开 限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理 问题描述 ...

2019-08-27 11:56:21 611

转载 SpringBoot+MyBatis+MySQL读写分离实战

1. 引言读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做。因此,一般来讲,读写分离有两种实现方式。第一种是依靠中间件(比如:MyCat),也就是说应用程序连接到中间件,中间件帮我们做SQL分离;第二种是应用程序自己去做分离。这里我们选择程序自己来做,主要是利用Spring提供的路由数据源,以及AOP然...

2019-08-26 09:56:08 161

原创 CENTOS命令大全

系统信息arch 显示机器的处理器架构(1)uname -m 显示机器的处理器架构(2)uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示C...

2019-08-19 16:51:17 176

转载 三次握手与四次挥手

简介传输层在前面的博文中已经详细的介绍了,以漫画 + 画图的方式,因此这里不在赘述。但是相关的细节叙述的不是太好,因此主针对TCP的三次握手和四次挥手再次进行叙述。联系上socket套接字编程进行说明。

2019-08-12 17:19:23 102

转载 PHP运行原理

前几天,有个华为的家伙我叫他985问了我一个这样的问题php在服务器上是怎么跑的? 也就是说php是怎么在服务器上运行的, 当时属实给我问懵逼了一直都在不停的写代码但是真正的运行原理却知道的微乎其微, 经过一下午的查资料的我觉得有必要把前人总结的经验 写进我的博客中 我觉得写代码 不仅要有灵活的思想 扎实的基础还要有最底层原理 这样才能了如指掌. 小吹了一波牛逼下面 就是在前人所总结的经验...

2019-07-08 17:22:02 151

转载 php解决约瑟夫环

今天偶遇一道算法题“约瑟夫环”是一个数学的应用问题:一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数, 再数到第m只,在把它踢出去…,如此不停的进行下去, 直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。方法一:递归算法 1 function killMonkey...

2019-07-08 17:15:28 104

原创 php简单中奖算法

今天遇到这样的一个问题 封装一个 抽奖概率函数 思前想后去网上找点资料吧,而且不止一种方法 这种我感觉还是比较容易的 还是那句话 实现功能的思路不止一种 代码也不止一种 function get_rand($proArr) { $result = ''; //概率数组的总概率精度 $proSum = array_sum($proArr); ...

2019-07-08 17:13:44 660

原创 php中警告提示A session had already been started – ignoring session_start() 解决方法

登录代码用到了session_start()方法,但是直接这样是不正确的!php会爆出警告提示:Notice: A session had already been started - ignoring session_start() in ***\sina.php on line 2错误提示:A session had already been started - ignoring s...

2019-07-08 17:10:52 9502

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除