自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (1)
  • 收藏
  • 关注

原创 引起索引失效的情况

1. OR 查询。在5.1 以后引入的 index_merge。并不会是查询失效。 2. 隐式类型转换。比如按字符串建立的索引 在 查询时用的 整数查询 where phpone = 135(没加引号)导致索引失效。 3. 数据范围影响。 数据分布 的问题导致 查询条件 命中不了索引 4. 索引列做计算。 5. like 前缀模糊查询为...

2021-11-17 12:24:22 143

原创 索引使用优化

首先需要明白什么是聚簇索引 和 二级索引 聚簇索引 :主键 和 记录存储在一起。 二级索引:索引和主键存储在一起。按索引查询后查询的是主键信息,在回表才能查询到记录。1. 存储空间 按照page 16k 计算。索引字段大小-> b+树层数 3层 的树 16K/(8字节的key + 8 字节指针)一页可以存储 1k记录。那么可以存储 1k * 1k *1k = 10亿条记录2.主键选择 自增主键 ...

2021-11-17 12:17:20 118

原创 Group by

GROUP BY的规定:1、GROUP BY 后面可以包含多个列,这就是嵌套。2、如果GROUP BY进行了嵌套,数据将在最后一个分组上进行汇总。3、GROUP BY子句中列出来的每个列必须是检索列或有效的表达式(但不能是聚集函数),如果在SELECT中使用了表达式,则必须在GROUP BY子句中指定相同的表达式。不能使用别名。4、除了聚集语句外,SELECT语句中的每一个列都必须在GROUP BY子句中给出。5、如果分组列中具有NULL值,则NULL将作为一个分组返回。如果列中有多个N

2021-11-07 19:40:28 3014

原创 php 的几个关键字

php static 1.静态方法是所有对象所共享的,而普通方法是所有对象都可以调用的。所以,普通方法中调用静态方法是可以的。 2.静态方法是属于类的,供所有该类的对象所共享。而普通方法是属于对象的。静态方法生成于编译前,这时对象未生成,因为通过对象访问的普通方法,当然也不能被访问! 3. 普通方法与静态方法的尽管写在一个类中,但却工作在不同的空间; 普通方法可以访问静态方法, 静态方法只能访问静态变量活方法, 静态属性必须静...

2020-08-26 17:47:15 322

原创 php的模式

//单例模式,确保某一个类只有一个实例。因此不能new 对象。class Single{ private static $instance;//保存类唯一实例的静态变量。,静态方法不能调用非静态变量,因为非静态变量属于对象,所以这里需要定义为 static。 //设置私有,外部不可new,外部每new一次,就是一个不同的对象 private function __construct() { } private function __clone(...

2020-08-26 17:41:41 125

原创 php-fpm,FastCGI,Nginx 之间的关系

CGI,通用网关接口,用于WEB服务器和应用程序间的交互,定义输入输出规范,每收到一个请求都需要创建一个进程去处理。FastCGI用来提高 cgi 程序性能,启动一个master,再启动多个 worker,不需要每次解析 php.ini。php-fpm实现了 FastCGI 协议,是 FastCGI 的进程管理器,支持平滑重启,可以启动的时候预先生成多个进程。Nginx实现了多种协议的web服务器,在配置文件nginx.conflocation ~ .*\.php$ {.

2020-08-26 17:24:44 219

原创 Redis 穿透和雪崩

缓存穿透:就是访问redis中一个不存在的key的时候,会直接穿过缓存,去数据库中进行查询.如果是黑客,进行恶意攻击的时候,每次都请求超过2000个/秒的时候,这个时候mysql基本上就挂了.解决办法是:每次从数据库中查询到一个不存在的key的时候,就写一个空值到缓存库中,有恶意攻击的时候,直接从缓存中取到这个空值.缓存雪崩:就是每秒有5000个请求过来时候,redis缓存库崩了,然后这些请求瞬间落在了mysql数据库上,直接导致数据库死机.解决方案就是:事前: 提高缓存...

2020-08-26 17:07:48 152

原创 记一次项目的死锁分析

1.场景公司项目使用多线程开发,因此使用gdb exec -c corefile运行core文件后,使用bt打印堆栈信息 看不出问题,需要进入到线程内部分析。2.分析 1. info threads 打印线程信息 可以看到有多个__lll_lock_wait () , 看到这里,我们推测可能是锁出现问题了。那么继续往,进入到线程内部,随便找一个是__lll_lock...

2019-11-13 12:25:03 220

转载 堆排序(大顶推)

堆排序图片和描述转载于https://www.cnblogs.com/lanhaicode/p/10546257.html,代码是根据该描述以自己的理解自己实现的。1、什么是堆?堆是一种非线性结构,(本篇随笔主要分析堆的数组实现)可以把堆看作一个数组,也可以被看作一个完全二叉树,通俗来讲堆其实就是利用完全二叉树的结构来维护的一维数组按照堆的特点可以把堆分为大顶堆和小顶堆大顶堆:...

2019-10-25 09:52:34 1120

原创 633. 两个整数的平方数之和

给定一个非负整数c,你要判断是否存在两个整数 a 和 b,使得a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5示例2:输入: 3输出: False1:第一次采用的写法 :int judgeSquareSum(int c){ int i=0; int j=(int)sqrt(c); ...

2019-09-20 18:55:24 599

原创 beego学习

1.bee命令安装 go get github.com/beego/bee如果设置了GOPATH环境变量就会安装到环境变量的bin 目录下2.创建project在$gopath/src 下运行bee new myapp,在GOPATH的src目录下就会出现一个myapp的项目3.运行项目bee run myapp如果还是在$gopath/src 下运行命令,则会...

2019-09-18 22:22:22 253

原创 unsafe包的使用

1:求各类型的长度1.var x stringfmt.Println(unsafe.Sizeof(x))//输出16.因为string的底层结构为type stringStruct struct { str unsafe.Pointer len int}2.var s []intfmt.Println(unsafe.Sizeof(s))//输出24.因为切片...

2019-09-18 18:31:26 116

原创 new 和make的区别

make使用方法var s[]int:nil切片。需要使用make分配空间。s=make([]int,10)var s=[]int{} 空切片。不需要使用make分配空间。var m map[int] int :nil map,需要使用make分配空间m=make(map[int] int ,10)var m =map[int]int{} 空map,不需要使用make分配...

2019-09-18 09:39:07 226

原创 defer关键字

什么是 deferdefer 是 Go 语言提供的一种用于注册延迟调用的机制,每一次 defer 都会把函数压入栈中,当前函数返回前再把延迟函数取出并执行。1.defer 和panic 一起使用时执行顺序?package main import ( "fmt")func main() { defer_call()}func defer_call() {...

2019-09-17 19:04:10 221

原创 tr 命令

1. tr 映射(tr "[a-z]" [A-Z])echo abc|tr "[a-z]" "[A-Z]"#一对一映射大小写转换#输出ABC2. tr 压缩(tr -s)cat words.txt |tr -s ' ' 2.1 tr 压缩替换echo abc def |tr -s ' ' '\n'#将多个空格压缩成1个空格,完事后,将空格替换为换行符...

2019-09-10 19:09:00 335

原创 151. 翻转字符串里的单词-c

给定一个字符串,逐个翻转字符串中的每个单词。示例 1:输入: "the sky is blue"输出:"blue is sky the"示例 2:输入: " hello world! "输出:"world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。示例 3:输入: "a good example"输出:"e...

2019-09-10 18:36:50 120

原创 109. 有序链表转换二叉搜索树-c

给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 ...

2019-09-06 10:02:35 133

原创 102. 二叉树的层次遍历-C语言

给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。例如:给定二叉树:[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]#define QMAX 1000// 定义太小有些测试用例过不去typ...

2019-08-29 19:01:22 347

原创 类型定义与类型别名

type Myint int //类型定义,相当于新定义了一个类型。type Myint1 =int //类型别名使用区别:type Myint inttype Myint1 =intfunc main(){ var i int=0 var my Myint my =Myint(i)//Myint 相当于一个新的类型,因此需要强制转换。 var ...

2019-08-29 13:52:17 319

原创 257. 二叉树的所有路径-C语言

给定一个二叉树,返回所有从根节点到叶子节点的路径。说明:叶子节点是指没有子节点的节点。示例:输入: 1/ \2 3\ 5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3void EveryPath(struct TreeNode *...

2019-08-28 09:58:37 942

原创 111.二叉树的最小深度-c语言

给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.int min(int a,int b){ return a>b...

2019-08-26 17:13:13 240

原创 对 2 >&1的解释

假设运行命令xxxxxx.sh>output 2>&1 &1.将标准输出重定向到output2 : 2 >&1 将标准错误重定向到标出输出,因为标准输出已经重定向到标准输出,因此也就是将标准错误重定向到标准输出。 为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >outp...

2019-08-26 16:55:34 227

转载 海量数据处理算法—Bit-Map

1. Bit Map算法简介 来自于《编程珠玑》。所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。2、 Bit Map的基本思想 我们先来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复)。那么我们...

2019-08-19 18:08:42 152

原创 c 语言函数返回char **类型

char **test(char *str,int *retsize){ int i; char **s; s =malloc(sizeof(char *)*10); //这里需要*10,因为下面使用了10个指针数组。否则会出现乱码。等价于char *s[10] for (i=0;i<10;i++) { s[*retsize] =...

2019-06-28 09:18:34 1444

原创 const 与define 的区别

define1.在预处理阶段,将宏定义进行展开,进行替换2.无类型,不做类型检查const:1.在定义const 变量时,需要初始化,因为以后就不能改变了2.对于指针来说可以指定指针为const ,也可以指定指针所指向的内容为const,或二者同时为const3.在函数声明中,const 作为形参,表示是一个输入参数,不能够修改。4.对于类的成员函数,若指定为const...

2019-03-25 11:19:02 220

原创 引用和指针的区别

一:引用与指针的区别1.引用必须在定义时初始化,指针不必2.引用不能为空,指针可以为空3.引用绑定一个变量,为变量的别名,指针可以指向其他变量。4.定义一个指针变量需要分配内存。引用不占用内存二:值传递,地址传递,引用传递的区别值传递:会为形参重新分配内存空间,将实参的值拷贝给形参,形参的值不会影响实参,函数调用结束后释放地址传递:形参为指针变量,将实参的地址传...

2019-03-25 11:12:22 91

翻译 c/c++ static 关键字介绍

C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下:#include<iostream>u...

2019-03-25 10:40:07 78

转载 MPEG-TS报文格式

转载https://blog.csdn.net/rootusers/article/details/42970859MPEG-TS包头语法结构:·sync_byte:1B 值为0x47。可以作为校验位·payload_unit_start_indicator:1b长度。当TS包带有PES包数据时,payload_unit_start_indicator值为1时,表示TS包的负载以P...

2019-03-19 17:53:46 987

转载 RTP报文头格式

RTP报文由报文头和报文体组成,报文头格式如下图所示。V:RTP协议的版本号,占2位,当前协议版本号为2。P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。CC:CSRC计数器,占4位,指示CSRC 标识符的个数。M:标记,占1位,不同的有效载荷有不同的含义,对于视...

2019-03-19 17:52:44 2192

转载 ftp文件传输服务

ftp包括两种传输模式,主动和被动方式 主动方式:在第1步中,客户端的命令端口与FTP服务器的命令端口建立连接,并发送命令“PORT 1027”。然后在第2步中,FTP服务器给客户端的命令端口返回一个"ACK"。在第3步中,FTP服务器发起一个从它自己的数据端口(20)到客户端先前指定的数据端口(1027)的连接,最后客户端在第4步中给服务器端返回一个"ACK"。FTP的主要问题实...

2019-02-15 10:05:33 489 1

原创 关于修改mysql 的字符集后不生效的问题

使用status 查看字符集为Latin1将字符集修改为utf8步骤如下1.停止mysql,2.删除服务3.重新执行显示服务已经存在,则在任务管理器内将进程mysqld服务进程终止。找不到该进程的话,则勾选显示所有用户进程 再次运行此服务 。4.查看则成功的字符集修改为了utf8    ...

2019-02-14 17:46:46 4818 1

原创 mysql登录时,ERROR 1045 (28000): 错误解决办法

 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql  打开第一个cmd1窗口,切换到mysql的bin目录,运行命令:   (D:\mySql\mysql-5.7.22-winx64是my.ini文件的目录)mysqld --defaults-file="D:\mySql\mysql-5.7.22-winx64\my.ini"...

2019-01-11 13:28:07 596

原创 Go 语言闭包

 代码示例(代码来自网上)package mainimport "fmt"//构造闭包func intSeq() func() int { i := 0 return func() int { i++ return i }}func main() { nextInt := intSeq() //生成闭包 ...

2018-09-17 19:07:56 306

原创 关于指针数组与数组指针的事例

该程序都是从函数内获取5个学生的编号和姓名,利用指针数组和数组指针达到同一个目的。#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;struct st_info{  int icnt;  char name[10];};数组指针方式的实现struct st_info...

2018-08-10 19:11:03 252

转载 epoll

以下内容转载链接为https://blog.csdn.net/men_wen/article/details/534564911. epoll模型简介epoll是Linux多路服用IO接口select/poll的加强版,e对应的英文单词就是enhancement,中文翻译为增强,加强,提高,充实的意思。所以epoll模型会显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。epol...

2018-06-29 17:48:03 474

原创 根据字符出现频率排序

void swap(int *a,int *b){  int tmp;  tmp =*a;  *a=*b;  *b=tmp;}void selSort(int *s,int n,char **arr,int *arrlen)//选择排序{  char *p=NULL;  int i;  int j;  int k;  int m;  int offset=0;  int tmp;  *arrlen...

2018-06-06 18:30:31 313

原创 linux 命令之mount挂载

mount -t nfs 远端 本地dictionaryumount dictionary 卸载时如果显示device is busy则用命令查看fuser -m dictionarykill -9 PID杀掉

2018-06-05 17:40:06 219

原创 linux命令之find查找命令并操作文件

find [path] [-name] [-size] [-type][-mtime][-ctime]。-0 表示如果文件含有空格,也会查找到文件末尾以文件名的\0结束。

2018-06-05 17:36:45 194

原创 linux 命令之查看最后一次关机时间

last -x|grep shutdown|head -1

2018-06-05 17:21:21 7645 1

转载 shell中$(( )) 与 $( ) 还有${ }的区别

$( ) 与 ` ` (反引号)在 bash shell 中,$( ) 与 ` ` (反引号) 都是用来做命令替换用(command substitution)的。所谓的命令替换与我们第五章学过的变量替换差不多,都是用来重组命令行:* 完成引号里的命令行,然后将其结果替换出来,再重组命令行。例如:[code]$ echo the last sunday is $(date -d "last sun...

2018-06-04 19:08:46 3294

gxcms-data.rar

mooc网上的《基于Golang协程实现流量统计系统》所需的cms资源数据。使用该数据,在搭建简易网站时,电影名称之类的就会显示出来

2019-09-11

空空如也

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

TA关注的人

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