自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 PHP解析大型Excel表格的库:box/spout

简介PHP解析Excel有个比较有名的库是phpoffice/phpexcel。在实际使用的过程中,解析一两百行的Excel没有问题,遇到上万行的Excel时,phpexcel的内存使用量会飙升,很容易就能超过128M甚至更多。今天我来介绍另一个高效解析Excel的PHP库box/spout,地址:https://github.com/box/spout看官方介绍是:Read and ...

2019-12-26 16:26:34 718

转载 thinkphp5简单使用redis缓存

<?php namespace app\index\controller;use think\Controller;use think\Cache\Driver\Redis;class Index extends Controller{ //redis public function redis($userId) { //加载扩展 ...

2019-12-25 14:52:04 220

转载 windows环境中安装php的redis扩展及ThinkPhp5使用redis缓存

1、windows环境安装php的redis扩展,请先查看当前php的环境,使用命令:echo phpinfo();查看当前PHP版本信息,我本地的是 PHP7.2 NTS VC15,所以我选择的扩展分别是php_redis-4.0.0-7.2-nts-vc15-x64和php_igbinary-2.0.6rc1-7.2-nts-vc15-x64,可以去https://windows.php....

2019-12-25 09:38:26 207

原创 antd pro of vue学习使用

一、安装在安装antd之前,请确保已安装node,git,yarn以及开发工具vscode。下载:git clone --depth=1 https://github.com/sendya/ant-design-pro-vue.git my-project安装:yarn install运行:yarn run serve二、vscode设置安装中文简体插件和...

2019-12-18 12:03:07 2337 1

转载 纯js实现文件下载并重命名功能

/** * 获取 blob * @param {String} url 目标文件地址 * @return {cb} */function getBlob(url,cb) { var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.responseType = 'b...

2019-12-12 14:47:16 1026 1

转载 什么是分布式系统,如何学习分布式系统

目录什么是分布式系统 分布式系统挑战 分布式系统特性与衡量标准 组件、理论、协议 用一个请求串起来 一个简化的架构图 概念与实现 总结 references正文  虽然本人在前面也写过好几篇分布式系统相关的文章,主要包括CAP理论、分布式存储与分布式事务,但对于分布式系统,并没有一个跟清晰的概念。分布式系统涉及到很多的技术、理论与协议,很多人也说,分...

2019-11-20 22:20:59 112

转载 虚拟机是怎么实现的?

1997年,斯坦福的Mendel Rosenblum带着Edouard Bugnion, Scott Devine在SOSP上发了篇论文,叫做Disco: running commodity operating systems on scalable multiprocessors (http://www.stanford.edu/class/cs240/readings/disco.pdf)。发...

2019-11-14 16:30:47 708 1

转载 多CPU,多核,多进程,多线程

当面临这些问题的时候,有两个关键词无法绕开,那就是并行和并发。首先,要先了解几个概念:  1、进程是程序的一次执行。  2、进程是资源分配的基本单位(调度单位)。  3、一个进程可以包括多个线程。  4、在单CPU计算机中,有一个资源是无法被多个程序并行使用的:CPU。  5、操作系统调度器:拆分CPU为一段段时间的运行片,轮流分配给不同的程序。  6、操作系统内存管理...

2019-11-14 10:55:52 135

转载 中断解析

一、中断是什么中断的汉语解释是半中间发生阻隔、停顿或故障而断开。那么,在计算机系统中,我们为什么需要“阻隔、停顿和断开”呢?举个日常生活中的例子,比如说我正在厨房用煤气烧一壶水,这样就只能守在厨房里,苦苦等着水开——如果水溢出来浇灭了煤气,有可能就要发生一场灾难了。等啊等啊,外边突然传来了惊奇的叫声“怎么不关水龙头?”于是我惭愧的发现,刚才接水之后只顾着抱怨这份无聊的差事,居然忘了这事,于...

2019-11-12 22:36:21 474

转载 CommonJS、requirejs、ES6的对比

文件路径首先先搞清楚文件路径的写法,这里我总是记不住,有点晕,正好这次整理一下。以/为起始,表示从根目录开始解析; 以./为起始,表示从当前目录开始解析; 以../为起始,表示从上级目录开始解析;CommonJSCommonJS是nodejs也就是服务器端广泛使用的模块化机制。该规范的主要内容是,模块必须通过module.exports 导出对外的变量或接口,通...

2019-09-15 12:24:39 116

转载 MYSQL批量修改表前缀与表名sql语句

修改表名ALTER TABLE 原表名 RENAME TO 新表名;一句SQL语句只能修改一张表show tables;1.SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO db_', substring(table_name, 4)...

2019-08-31 10:02:29 3465

转载 Host is not allowed to connect to this MySQL server 解决方法

1 登录mysql : mysql -uroot -p; 并输入密码2 创建远程登陆用户并授权 :grant all PRIVILEGES on *.* to root@'47.96.138.137' identified by '12345678 ';3 执行立即生效:flush privileges;简单并详细的说下授权指令1:*.* 表示上面的权限是针对于哪个...

2019-08-31 09:59:57 2678 1

转载 window下安装composer和laravel

安装composer:1、在https://getcomposer.org/download/ 中下载Composer-Setup.exe2、安装composer步骤如下:至此,composer安装完成。安装laravel:安装composer完成后,win+R >> cmd,调出命令行程序,通过cmd命令进入到你要创建laravel框架的目录...

2019-08-29 15:24:30 98

转载 Windows环境下Composer的安装教程

1.先下载Composer-Setup.exe,下载地址:下载Composer。会自动搜索php.exe的安装路径,如果没有,就手动找到php路径下的php.exe。2.在PHP目录下,打开php.ini文件,开启openssl扩展。去掉extension=php_openssl.dll前面的分号(;)3.把php目录添加到环境变量(和php.exe同级目录的路径)例如:D:\apach...

2019-08-28 18:21:57 123

转载 解决百度ueditor富文本编辑器不能插入视频的问题/src掉链/src清空,不能显示视频

如果你嫌弃自己配置比较麻烦,出现各种奇奇怪怪的问题你下载我 这个文件 加入到你的项中,只 需要 修改 项目名称 就可以 运行 地址https://download.csdn.net/download/qq_34787830/10363771直接下载到的百度富文本编辑器当插入优酷/腾讯视频的时候会自动清掉src,不显示视频造成这样的原因是:百度富文本编辑器...

2019-08-28 10:27:37 4296 2

转载 解决WebUploader 上传按钮没反应、按F12 才会有反应的问题

遇到了 WebUploader插件的上传按钮点击无效(此时鼠标在按钮任何位置时,按钮都没变化)、按F12之后才有反应(此时鼠标在按钮任何位置时,按钮颜色都会变深) 的问题,网上查到一些答案,找到了一种测试有效的办法。首先出现Bug的原因是插件生成[选择文件]按钮的长宽都是0,所以点击不到;需要重新渲染一下网页,而F12正好有渲染网页的功能。解决办法分以下两步:1)在页面加一段样式...

2019-08-26 16:32:22 2013

转载 Linux下的crontab定时执行任务命令详解

在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。一、cron服务  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。  service crond start...

2019-08-11 16:50:23 270

转载 swoole模拟多服务器Nginx反向代理实现负载均衡

一直想探索一下负载均衡,苦于经济能力,没有太多的服务器可用,于是借用php的 swoole 扩展根据不同的端口,启动了多个服务器,然后使用Nginx反向代理,尝试了一下负载均衡,具体搭建过程如下。1.安装lnmp具体的安装步骤就省略了,不会的参考一键安装包注意最好编译安装,便于swoole的扩展编译2. 安装 swooleswoole的安装下载参考swoole官网3. 编写服务...

2019-08-10 00:27:10 193

转载 秒杀避免超卖 ,兼顾效率与质量

redis的队列来实现。将要促销的商品数量以队列的方式存入redis中,每当用户抢到一件促销商品则从队列中删除一个数据,确保商品不会超卖。这个操作起来很方便,而且效率极高Redis是一个分布式key-value缓存系统,value支持多种数据结构,这里value可以选择两种类型,String(或者hash):主要用于记录商品的库存,对商品减库存。Set集合(这里不要用list集合,list集合...

2019-08-10 00:08:08 180

转载 Chrome的ERR_UNSAFE_PORT解决办法

今天早上来上班照往常一样,打开我的VS,编译运行程序,打不开??又是一阵调试,断点,很快我发现不是我的程序问题,因为在IE,Firefox里都可以正常打开,唯独Chrome报错。又仔细看了下报错页面,我惊奇的发现端口号变成了6667,而该端口号正好被chrome认为是非安全端口ERR_UNSAFE_PORT,解决办法:右击web项目-> 属性 -> Web ->可以自动分配端...

2019-08-08 09:58:03 2220

转载 SMTP connect() failed解决方案

1、首先检查php是否安装openssl模块<?phpecho !extension_loaded('openssl')?"Not Available":"Available";2、接下来下载PHPMailer模块放在Vendor目录下3、码代码function send_email($to,$subject='',$content=''){Vendor('PHPMailer.P...

2019-08-06 16:14:11 8986

转载 基础篇|PHP如何解决网站大流量和高并发

基础篇高并发架构基础概念和优化思路高并发架构相关概念并发,在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行通常我们所定义的高并发并非上述解释,简单的来说就是在某个时间点、有多少个访问同时到来。高并发:通常如果一个日PV在千万以上,就有可能是一个高并发的系统QPS:每秒...

2019-08-02 12:50:02 148

转载 [php]如何做到高并发优化

在实际的开发过程中我们遇到过各种各样的活动,但像用户流量较大的平台就需要考虑高并发的问题,但是如何去解决呢?我总结了几种解决方案,欢迎大家指正!一、什么是PV/UV/QPS?PV:页面访问量,即PageView,用户每次对网站的访问均被记录,用户对同一页面的多次访问,访问量累计。(说白了就是用户的点击次数)UV:独立访问用户数:即UniqueVisitor,访问网站的一台电脑客户端为一...

2019-08-02 12:48:13 193

转载 php解决高并发问题

我们通常衡量一个Web系统的吞吐率的指标是QPS(Query Per Second,每秒处理请求数),解决每秒数万次的高并发场景,这个指标非常关键。举个例子,我们假设处理一个业务请求平均响应时间为100ms,同时,系统内有20台Apache的Web服务器,配置MaxClients为500个(表示Apache的最大连接数目)。那么,我们的Web系统的理论峰值QPS为(理想化的计算方式):...

2019-08-02 12:47:07 238

转载 高并发

高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(如果你看懂了,这个说法说明是正在奔向人生巅峰的屌丝。高并发会来带的后果服务端: 导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:...

2019-08-02 12:45:08 168

转载 什么是高并发,如何避免高并发

之前我将高并发的解决方法误认为是线程或者是队列可以解决,因为高并发的时候是有很多用户在访问,导致出现系统数据不正确、丢失数据现象,所以想到 的是用队列解决,其实队列解决的方式也可以处理,比如我们在竞拍商品、转发评论微博或者是秒杀商品等,同一时间访问量特别大,队列在此起到特别的作用,将 所有请求放入队列,以毫秒计时单位,有序的进行,从而不会出现数据丢失系统数据不正确的情况。今天我经过查资料,高并...

2019-08-02 12:42:41 2648

转载 关于PHP程序员解决问题的能力

这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高。解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验。如果解决问题能力不佳是无法通过面试的。这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串。但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将...

2019-08-01 21:28:17 75

转载 yii2的redis扩展使用

yii2支持了redis扩展,不需要在本地下载php的扩展库就可以很好的使用1.下载windows的redis安装包打开cmd,进入安装包目录,使用redis-server.exe redis.conf,开启redis服务器,再打开一个cmd窗口,redis-cli.exe -h IP -p 63792.下载yii2的redis的安装包,下载地址为:https://github.com/y...

2019-08-01 18:00:24 123

转载 当我们在谈论高并发的时候究竟在谈什么?

什么是高并发?高并发是互联网分布式系统架构的性能指标之一,它通常是指单位时间内系统能够同时处理的请求数,简单点说,就是QPS(Queries per second)。那么我们在谈论高并发的时候,究竟在谈些什么东西呢?高并发究竟是什么?这里先给出结论:高并发的基本表现为单位时间内系统能够同时处理的请求数,高并发的核心是对CPU资源的有效压榨。举个例子,如果我们开发了一个叫做...

2019-08-01 17:20:35 80

转载 PHP+Redis秒杀其实很简单

前言:秒杀这个问题,一直以来都是经典的面试题。但是秒杀也分大小。如果一个产品的用户不超过5w,上来就问双十一级别的秒杀。那就没有意思了~,所以今天就简单聊下一般条件下的秒杀的思路。方法只有两个,一个是装载秒杀商品。一个就是模拟用户进场秒杀。图片发自简书App工具介绍首先环境就比较简单Apache PHP 7.3 redis框架我选择的ThinkPHP5.1 不过...

2019-07-31 15:40:21 423

转载 Redis使用总结

本文围绕以下几点进行阐述1、为什么使用redis2、使用redis有什么缺点3、单线程的redis为什么这么快4、redis的数据类型,以及每种数据类型的使用场景5、redis的过期策略以及内存淘汰机制6、redis和数据库双写一致性问题7、如何应对缓存穿透和缓存雪崩问题8、如何解决redis的并发竞争问题1、为什么使用redis分析:博主觉得在项目中使用redi...

2019-07-30 20:33:35 84

转载 分库分表的基本思想

Sharding的基本思想就要把一个数据库切分成多个部分放到不同的数据库(server)上,从而缓解单一数据库的性能问题。不太严格的讲,对于海量数据的数据库,如果是因为表多而数据多,这时候适合使用垂直切分,即把关系紧密(比如同一模块)的表切分出来放在一个server上。如果表并不多,但每张表的数据非常多,这时候适合水平切分,即把表的数据按某种规则(比如按ID散列)切分到多个数据库(server)...

2019-07-30 20:15:48 80

转载 关于PHP程序员技术职业生涯规划

看到很多PHP程序员职业规划的文章,都是直接上来就提Linux、PHP、MySQL、Nginx、Redis、Memcache、jQuery这些,然后就直接上手搭环境、做项目,中级就是学习各种PHP框架和类库,高级阶段就是MySQL优化、PHP内核与扩展、架构设计这些了。这些文章都存在一个严重的缺陷,不重视基础。就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的...

2019-07-28 19:16:23 92

转载 php中接口、抽象类以及接口和抽象类区别详解

在php中接口抽象类、Final、Static几个我们用到的相当的简单特别是大型网站架构时都会有用到了,今天我们来看一篇关于php中抽象类、Final、Static的例子。1. 接口(1)对接口的使用是通过关键字implements(2)接口不能定义成员变量(包括类静态变量),能定义常量(3)子类必须实现接口定义的所有方法(4)接口只能定义不能实现该方法(5)接口没有构造函数(6)...

2019-07-16 23:18:07 181

转载 MySQL命令行导入导出sql文件

linux下一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构(常用):mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql#/usr/local/mysql/bin/ mysqldump -uroot -p abc > abc.sql敲回车后会提示输入密码2、只导出表结构mysqldump...

2019-07-14 12:07:29 1980

原创 php面试常见问题

php方面的:抽象类接口类问题、关键字和魔术方法问题、curl&fopen系列问题、设计模式(工厂单例)&依赖注入系列问题、php闭包&类型约束问题、正则(必考)mysql:索引问题(必问),BTREE聚簇索引原理,慢查询解决流程,MySQL配置文件具体参数,主从配置Apache:Apache配置文件参数问题,fast-cgi,php-fpm相关问题linux:...

2019-07-14 09:05:43 132

转载 php程序员如何写简历

第一部分:基本信息。必须有的:名字、联系方式(邮箱+电话)、出生年月(一般写个年份就好)、应聘职位、工作年限、地址(城市要有,具体地址可写可不写)。可以有的:座右铭、社交网络地址(里面有乱七八糟内容的就不要放了)、期望待遇。最好不要有的:照片(除非你对自己长相特别有自信,但是要放就放大头照,别放艺术照,谢谢)、星座血型(如果你应聘做这个的公司就另当别论)。第二部分:受教育经历。必须有的...

2019-07-12 07:42:36 6987 1

转载 mac composer 安装

在命令行执行 1 curl -sS https://getcomposer.org/installer | php   如果没安装 curl 执行以下代码 1 php -r "readfile('https://getcomposer.org/installer');" | php   然后执行...

2019-07-06 14:49:46 138

转载 Mysql 的管理工具Sequel Pro

服务器和本地都是Mysql数据库 使用的工具:Sequel Pro(专门管理Mysql的工具) 操作系统Mac OS 10.12Sequel Pro简介Sequel Pro是一款管理Mysql的工具,界面简洁易用。Sequel 连接界面连接服务器的mysql数据库Sequel Pro提供了3种连接方式,standard/socket/ssh。我使用的是stan...

2019-06-30 16:39:30 822

转载 http请求(GET/POST)时,url/参数编码的过程分析

http请求的发出,以及编码过程下面在chrome浏览器和postman下模拟请求,用fiddler来监控请求发出信息。chrome游览器地址输入:这个路径是手动输入的,黑色线是url,黄色线是uri,绿色线是queryString。这时F12,然后我们路径按下回车。chrome地址:chrome监控:fiddler监控:我们关注chrome控制台...

2019-06-29 18:40:50 6749 1

git-flow备忘清单

git-flow备忘录,git团队代码管理的最佳管理办法和工具文档

2019-01-21

空空如也

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

TA关注的人

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