自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jacob的博客

记录成长、记录生活

  • 博客(28)
  • 收藏
  • 关注

原创 mysql 分页查询limit中偏移量offset过大导致性能问题

      在业务中经常会遇到关于分页的需求,这就会经常会用到MySQL中的limit offset,rows来分段取出每页中需要的数据。但是当数据量足够大的时候,limit条件中的偏移量offset越大就越会导致性能问题,导致查询耗时增加严重。先看一下测试:-- 本地库中只有二百多万条数据,访者可以在本地将数据写入到千万条做测试。效果会更明显select count(*) from no...

2018-12-20 12:30:08 7110

原创 Nginx基础知识

nginx.mdNginx基础知识@1 Nginx 介绍 Nginx是一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。最早由俄罗斯的Igor Sysoev开发,并在BSD-Like协议下发行。其特点是轻量级,占用内存小,并发能力强。@2 Nginx编译与启动 到官网http://nginx.org寻找最新的stable下载 当前使用n...

2018-12-20 10:08:44 238

原创 HTTP协议相关基础知识点

@1 简介:  HTTP是万维网的应用层通信协议,web页面的所有数据都是通过这个文本协议进行传输、HTTP是一种无状态、由文本构成的请求响应(request-response)协议,这种协议使用的是客户端-服务器(client-server)计算模式@2 版本:  HTTP 0.9 HTTP1.1 HTTP2.0 HTTP1.1是目前使用最为广泛的一个版本,最新的版本是HTTP2.0 HT...

2018-12-14 10:36:26 395

原创 centos下安装golang运行环境

    下载对应系统下的go语言安装包使用: wget -c https://studygolang.com/dl/golang/go1.10.3.linux-amd64.tar.gz,然后将安装包使用tar来解压到你想要放置的目录下、楼主将解压包放置在/usr/local目录下,进入到/usr/local/go/bin/运行./go version,你会看到go version go1.10.3...

2018-12-04 14:20:38 567

原创 PHP is_file与file_exists区别

通过以下代码可以测试出两个函数的效率:$start_time = get_microtime();for($i=0;$i<10000;$i++)//默认1万次,可手动修改{if(is_file('test.txt')) {//do nothing;}}echo 'is_file-->'.(get_microtime() - $start_time).'<br&...

2018-11-16 14:38:51 2061

原创 PHP的spl_autoload_register创建autoload函数的队列问题

       sql_autoload_register 函数是注册给定的函数作为__autoload的实现,它将函数注册到SPL autoload队列中并激活。本文主要讲spl_autoload_register函数中的队列问题,更详细的用法请参看手册或其他博文。<?phpfunction test1(){ echo __FUNCTION__,"()\n";}funct...

2018-11-16 14:23:25 402

原创 PHP json_encode函数的参数说明

       最近遇到了一些关于PHP函数相关的问题,在和前辈交流的时候被问及自己所能写出的关于字符串处理和数组相关的函数问题,然后考虑了一下,觉着这些PHP最基础的部分可能在面试中小型公司的时候会被经常问到,在之前的求职面试里面自己更多的注重了数据结构,算法或者数据库相关的这些知识点,对于PHP的基础相关的知识点在工作中也是常常不能熟悉的运用,一般的状态更多是知道有这个函数在,然后百度或者查下手...

2018-11-12 17:43:15 18558 1

原创 inner join 与 left/right join的区别浅谈

       最近遇到了一个关于join查询与left/right join查询区别的问题,在之前并没有去真正去思考过这两者的区别,在看到这个问题的时候我的第一反应是觉得join与left/right join的区别应该就是基本表的区别,不知道是在哪里看到过相应的文章还是怎么样,并且强烈的认为这肯定就是标准答案,被朋友去建议自己尝试一下去证明一下这个猜想。    猜想开始:    一:建立...

2018-11-09 17:27:53 193

原创 谈一谈最近所理解的MVC和过去对MVC的理解。

       之前无意间看到过一篇腾讯大佬所写的关于网站优化的文章,里面提到了他在优化当时一个站点的时候看到大家所写的代码中C层互调的事情,具体的言语已经记不太清楚,但是大佬的意思就是说要代码规范,C层不能互相调用,让C层去调M层,M层中可以相互调用。当时就有思考我所理解的MVC到底是什么,在之前的认知中自己所理解的MVC无非就是一种在web开发中的代码组织方式,让视图层,业务逻辑层,数据层做完全...

2018-11-09 15:43:38 390

原创 Python数据类型------字典

    在Python中,字典是一系列的键-值对,每个键都与一个值相关联,可以使用键来访问与之相关联的值,这个值可以是数字、字符串、列表乃至字典。可以说字典中键所对应的值是任何Python对象。在Python中、字典用花括号{}中的一系列键值来表示。键和值之间用冒号:来分割,而键值对之间用逗号,来隔开。字典是一种动态结构,可以随时在其中添加键值对,要添加键值对时,可依次指定字典名,用方括号括起来的...

2018-11-08 19:42:31 139

原创 Python数据类型-----元组

    在刚刚学习的列表可以看出来,列表非常合适用于存储在程序运行其中可能变化的数据集,列表内的元素值是可以变化的。在有些需要创建一系列不可修改的元素的时候、就用到元组这种数据类型了。Python将不能修改的值称为不可变得,而不可变的列表被称为元组。元组看起来像列表一样,但是元组使用圆括号(),而不是使用方括号[],元组定义之后,就可以使用索引来访问 元素,就像访问列表元素一样。# 定义元组...

2018-11-08 19:20:43 119

原创 Python数据类型------列表

    普通的整型或字符串类型就不做过多赘述、在这记录一下Python的列表、字典、集合、tuple等数据类型便于之后的学习。 一:列表    列表是由一些列特定顺序排列的元素组成。列表由方括号([])来表示,并使用(,)来分割其中的元素。    示例: bicycles = ['trek','redline','cannondale']print(bicycles)#...

2018-11-08 16:43:36 97

转载 nginx和php之间是怎样通信的呢

当nginx接收到一个http请求时,通过配置文件找到对应的server。然后匹配server中的所有location,找到最匹配的。而在location中的命令会启动不同的模块去完成工作,比如rewrite模块、index模块。因此在nginx中模块可以看作真正的劳动工作者。nginx的模块是被编译到nginx中的,属于静态方式。启动nginx时,模块被自动加载。不像apache,把模块单独编译...

2018-05-11 22:31:50 3086

原创 每天一个数据结构----队列的顺序存储结构实现(纯代码)

////  main.c//  Queue 循环队列//////  Created by Jacobs.Guo on 2018/5/7.//  Copyright © 2018年 yage guo. All rights reserved.//#include <stdio.h>#define OK 1#define ERROR 0...

2018-05-07 19:56:49 696

原创 每天一个数据结构----栈的链式存储结构实现(纯代码)

////  main.c//  StackList2 栈的链式存储结构////  Created by Jacobs.Guo on 2018/4/23.//  Copyright © 2018年 yage guo. All rights reserved.//#include <stdio.h>#include <stdlib.h>...

2018-04-24 11:37:02 336

原创 每天一个数据结构-----栈的顺序存储实现

#include <stdio.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 10typedef int Status;typedef int SelemType;typedef struct{    SelemType data[MA...

2018-04-23 19:10:59 180

原创 每天一个数据结构-----线性表的链式(单链表)存储结构

////  main.c//  LinkList////  Created by Jacobs.Guo on 2018/4/3.//  Copyright © 2018年 yage guo. All rights reserved.//#include <stdio.h>#include <stdlib.h>#include &lt...

2018-04-08 22:18:40 225

原创 每天一个数据结构-----线性表的顺序存储结构

//  main.c//  List////  Created by Jacobs.Guo on 2018/4/1.//  Copyright © 2018年 yage guo. All rights reserved.//#include <stdio.h>#define OK 1#define ERROR 0#define TRUE 1#...

2018-04-03 10:50:21 235

转载 php文件中不需要php结束标记的好处

一直不太清楚为什么在PHP文件中不使用”?>”的好处,今天查看手册发现了  如下内容:Note: 文件末尾的 PHP 代码段结束标记可以不要,有些情况下当使用include() 或者 require() 时省略掉会更好些,这样不期望的白空格就不会出现在文件末尾,之后仍然可以输出响应标头。在使用输出缓冲时也很便利,就不会看到由包含文件生成的不期望的白空格。    PHP闭合标签“?>...

2018-01-02 14:26:17 1499

转载 深入理解php底层:php生命周期

1、PHP的运行模式:    PHP两种运行模式是WEB模式、CLI模式。无论哪种模式,PHP工作原理都是一样的,作为一种SAPI运行。1、当我们在终端敲入php这个命令的时候,它使用的是CLI。它就像一个web服务器一样来支持php完成这个请求,请求完成后再重新把控制权交给终端。2、当使用Apache或者别web服务器作为宿主时,当一个请求到来时,PHP会来支持完成这个请求。一般有:    多进

2018-01-02 14:24:45 155

转载 Memcache 分布式高可用集群介绍

分布式缓存需考虑如下三点:1、缓存本身的水平线性扩展的问题。2、缓存大并发下的本身性能问题。3、避免缓存的单点鼓掌问题。分布式缓存存在的问题:1、内存本身的管理问题。内存的分配,管理和回收机制。2、分布式管理和分布式算法。3、缓存键值管理和路由。常见分布式算法        Memcached在实现分布集群部署时,Memc

2017-10-11 17:21:52 224

转载 MAMP下安装memcache

原文地址按照网上的教程,并不能顺利地安装下来,整合了几篇文章,并附上图片参考:https://www.douban.com/note/337110939/http://www.cnblogs.com/shengshuai/p/3696466.html1: Memcached 推荐用  homebrew 安装。http://brew.sh/2:

2017-09-26 20:05:07 675

转载 Mac下安装Memcache

原文地址我是使用 brew 来安装的,让我们再回顾一下整个过程吧。如果你没有装 brew ,先看步骤一,否则直接看步骤二。步骤一:安装 Homebrew先看看是否满足下面条件:Intel 的 CPUOS X 10.5 或者更高安装了XCode 或者 XCode命令行工具满足了,就可以安装 Homebrew,命令如下:$ ruby -e "$(cur

2017-09-26 19:45:16 294

原创 编译PHP-memchche扩展

1:到软件官方网站或pecl.php.net去寻找扩展源码并下载解压2:进入到path/memcache目录3:根据当前的PHP版本动态的创建扩展的configure文件# /XXX/path/php/bin/phpize4:./configure -with-php-config=/xxx/path/php/bin/php-config5:make && make ins

2017-09-26 16:30:24 333

原创 二进制包安装MySQL

MySQL的二进制包安装简单又方便,且官方的二进制包也是经过充分的测试和参数优化的。尽管源代码编译安装MySQL会带来一定的性能提升,但在实际应用中可能由于不清楚编译的参数或是编译源码而出现各种繁琐的问题。在此分享一下二进制包安装MySQL的学习(centOS 下)。【一】:进入官网下载对应平台和版本的MySQL二进制包(如本人下载的:mysql-5.5.57-linux-glibc2.1

2017-08-20 13:03:47 397

原创 MAMP配置虚拟主机

在PHP开发中常常会通过localhost/****的方式来运行自己的项目,有没有一种方式可以通过www.***.com的方式来运行自己的项目,这个时候就可以通过配置虚拟主机的方式来达到自己的需求,方式如下:一:打开终端(Terminal)或Iterm工具,首先用vim /Applications/MAMP/conf/apache/httpd.conf 打开Apache的配置文件找到#In...

2017-07-17 16:44:55 4264 2

转载 WEB前端JS弹窗

js弹出框、对话框、提示框、弹窗总结一、JS的三种最常见的对话框[javascript] view plaincopy//====================== JS最常用三种弹出对话框 ========================        //弹出对话框并输出一段提示信息      f

2017-06-07 20:50:33 6914

转载 HTTP断点续传原理及PHP实现 https://github.com/xfdipzone/11.FileDownload

文章摘自GitHub,https://github.com/xfdipzone/11.FileDownload

2017-05-23 16:44:34 564

空空如也

空空如也

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

TA关注的人

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