- 博客(48)
- 资源 (1)
- 收藏
- 关注

原创 Linux MySQL提示:The server quit without updating PID file问题解决
之前公司用的测试机,并没有清空原来使用数据,导致mysql,php ,nginx,apache多个环境版本,由于php版本是5.2,过于太低,方便测试 。本人就直接安装了集成环境,为方便测试。通过排查mysql 日志和看文件目录发现问题:mysql.sock 和 mysql pid 文件都丢失 导致mysql启动不了mysqld_safe mysqld from pid fi...
2018-09-30 11:18:09
5788

原创 Nginx+PHP-FPM详解
Nginx+PHP-FPM详解什么是php-fpm? PHP- FPM是为PHP内核编写的补丁,用来根据需要处理FastCGI进程的启动,停止以及重启。这是非常关键的功能,因为nginx只能通过FastCGI 实现同PHP的接口。nginx不能像Apache那样把所有的PHP环境加载到自身。通俗点说,php-fpm就是php和nginx通信的桥梁! Nginx的优点Nginx ("engine x...
2018-02-25 10:51:17
765
1

转载 千万数据的MySQL查询优化
千万数据的MySQL查询优化 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,...
2018-01-18 18:19:48
441

原创 PHP 常见的面试题汇总
PHP常见的面试题汇总 购物车里面的收藏怎么做 首先在数据库里面建一个收藏表,让它与用户表相关联点击收藏的时候加入到用户所对应的收藏表里面 什么是同步和异步 同步就是客户端发送数据到服务器,服务器等发响应回数据的时候它才继续往下面走 异步就是客户端的发送数据到服务器,不用等待服务器的响应,直接往下面走 什么是拆单 ...
2018-01-17 16:41:51
10521
1

原创 负载均衡的常用算法
负载均衡的算法详解 负载均衡的常用算法1、轮询法(轮流分发给每个服务器)优势:简单。劣势:不能保障这些应用服务器请求是一样的 将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。2、加权轮询法(能力越大,责任越大)(关键词:weight) 不同的后端服务器可能机器的配置和当前系统的负载并不相同,因
2018-01-17 13:25:30
434

原创 大型网站Redis秒杀系统详解
PHP Redis秒杀系统总结今天,我在公司遇到一个同事,问我秒杀业务的流程,我索性整理了一下原来的资料,给大家分享一下。个人整理------仅供参考。一,秒杀的基本流程秒杀列表秒杀详情页 倒计时判断用户参加活动的状态 库存(判断)修改库存创建订单定时任务守护进程二,流程详解首先,我们做秒杀,流程基本是以上8个步骤,当然这个
2018-01-16 20:16:06
3748

原创 MySQL的存储引擎-Innodb MyISAM差异
MySQL的存储引擎-InnoDB MyISAM差异MySQL的的的存储引擎是经常被问到的一个知识点,在这里我自己做了一些整理,其中有一些网络上资料,做了一些归档整理,还有一些自己见解,接下来我从四个方面为大家讲解存储引擎InnoDB的和MyISAM数据的差异。一,存储引擎 - 引擎类型MySQL的的支持的存储引擎:MyISAM数据的Innodb的的内存
2018-01-16 10:34:46
486
原创 Laravel env 导致的小坑
背景我们线上环境用的是Laravel 6.X版本,最近有新的需求上线后,我们都会使用 php artisan config:cache、php artisan route:cache 这个俩个命令 缓存配置文件、缓存路由,这样我们在访问应用的时候就不用再计算路由和加载配置文件所消耗的时间。问题我们的应用是多个端,所有多个端的用户Token,但是只有微信端的用户Token有问题,一直换取不成功,其余的正常代码 $this->driver->select(config('
2022-04-21 15:29:50
698
原创 Homebrew 常用命令
Homebrew 常用命令软件搜索brew search TEXT|/REGEX/查看软件相关信息(显示软件的各种信息(包括版本、源码地址、依赖等等)brew info [FORMULA|CASK...]安装软件brew install FORMULA|CASK...卸载软件brew uninstall FORMULA|CASK...查看安装列表brew list [FORMULA|CASK...]查看包信息brew info [FORMULA|CASK...]查看哪些
2022-04-08 10:31:59
4095
原创 Git 开启错误调试模式
Git 开启调试模式#on linuxexport GIT_TRACE_PACKET=1export GIT_TRACE=1export GIT_CURL_VERBOSE=1#on windowsset GIT_TRACE_PACKET=1set GIT_TRACE=1set GIT_CURL_VERBOSE=1#close config unset GIT_TRACE_PACKET GIT_TRACE GIT_CURL_VERBOSE
2021-12-14 18:04:14
1767
4
原创 static 静态变量引起 Laravel 中队列一个 Bug
背景项目中有一个秒杀业务使用Laravel 的队列进行对未付款超时的订单,进行库存回收处理问题未付款超时的订单库存没有及时回滚,造成了少卖的和用户不能买的情况(因为我们针对商品有限购处理,限购也没有及时重置)环境[root@vdevops XXXXXXXXApi]# php artisan --versionLaravel Framework 6.20.27[root@vdevops XXXXXXXXApi]# php -vPHP 7.4.19 (c...
2021-11-19 18:08:30
461
原创 js 函数 Array.from()的使用
Array.from():Array.from()方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。let obj = { 0: 'hellow world', 1: 'xiaoming', 2: 'gansha', 'length': 3 } let arr = Array.from(obj) console.log(arr);...
2021-11-17 14:30:04
5445
原创 JavaScript 调用调用浏览器 复制功能用来复制内容
<style type="text/css"> .wrapper {position: relative;} #input_text,#div_box {position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;} </style> <div id='div_box'> <p id="text">要复制的文字</p&g...
2021-10-12 18:05:54
557
原创 mysql 关于 distinct 和 group by无主键去重
无主键的表没办直接去重,所以我们要把去重后的数据导入新表。 这张表是无主键自增的表 ,以下有四条重复记录 SELECT distinct tag_id,doc_id from docbake; //distinct 去重SELECT * FROM docbake GROUP BY tag_id,doc_id //GROUP BY 去重 去重后的结...
2018-12-14 10:10:41
2856
1
原创 Go语言的 Beego 框架下载安装使用
Beego 框架Beego手册:https://beego.me/docs/intro/Go语言中文网址:https://studygolang.com 安装Beego框架之前,先安装Go语言环境,安装Beego框架,确保本地有Git,这里不建议使用源码下载安装。$ go get github.com/astaxie/beego //git命令下载beego beego...
2018-12-13 15:17:47
3999
原创 session 和 cookie 的使用步骤分别是什么?什么 是 sesssion 和 cookie 的生命周期?session 和 cookie 的区别是什么?
session 和 cookie 的使用步骤分别是什么?什么 是 sesssion 和 cookie 的生命周期?session 和 cookie 的区别是什么?1. cookie 是保存在客户端机器的,对于未设置过期时间的 cookie,cookie 值会保存在机器的内存中,只要关闭浏览器 则 cookie 自动消失。如果设置了 cookie 的过期时间,那么 浏览器会把 cooki...
2018-09-10 10:02:33
1077
原创 理解支付宝同步回调和异步回调
支付宝同步回调和异步回调当一个支付请求被发送到支付渠道方,支付渠道会很快返回一个结果。但是这个结果,只是告诉你调用成功了,不是扣款成功,这叫同步调用。很多新手会拿这个结果 当作支付成功了,那就会被坑死,结果就是支付成功率特别高,伴随着一堆无法解释的坏账率,测试人员尤其要注意测试数据的篡改:金额,同步返回结果,订单号等。同步请求参数里面会有一个回调地址,这个地址是支付渠道在扣款成功后调...
2018-09-07 17:22:00
28830
1
原创 实现session共享的方式有哪几种?
实现session共享的方式1. 基于NFS的Session共享NFS是Net FileSystem的简称,最早由Sun公司为解决Unix网络主机间的目录共享而研发。这个方案实现最为简单,无需做过多的二次开发,仅需将共享目录服务器mount到各频道服务器的本地session目录即可,缺点是NFS依托于复杂的安全机制和文件系统,因此并发效率不高,尤其对于session这类高并发读写...
2018-09-07 17:17:13
903
原创 增量备份和全量备份
增量备份和全量备份1. 全量备份full backup 每隔一段时间对系统进行一次完全备份,这样在备份时间间隔内一旦系统发生故障导致数据丢失,就可以用上一次的备份数据恢复到上一次备份时的情况。例如,星期一用一盘磁带备份整个系统,星期二再用另一盘磁带 备份,依次类推; 这种备份策略的有点:备份的数据最全面且最完整,当发生数据丢失灾难时只要用一盘磁带(即灾难发生前...
2018-09-07 17:13:44
11159
原创 Mysql CONCAT() 字符串函数用来当做模糊查询使用
我们通常是使用 某条件 是否包含于 某列中 ,简单点 就是:select * from 表名 where 字段名 like '%条件数据%';现在说下 某个字段的值是否 被包含于 你搜索的条件数据中Mysql CONCAT() 的用来当做模糊查询使用 SELECT a1.id, a1.name, a1.show_nam...
2018-09-06 11:40:26
732
原创 解决jQuery each循环dom元素报错 [object HTML DivElement]
jQuery each循环dom元素报错 [object HTML InputElement] 我们先来看下错误 输出到浏览器页面是[object HTML InputElement] ,但是console 控制台输出是没问题 这是报错的代码片段 var list_s = document.getElementsByName("summar...
2018-08-30 14:37:48
1400
原创 Jquery Tab 选项卡切换 简单样式(二)
Jquery Tab 选项卡切换 简单样式(二)下方效果图和代码 copy下来,直接可以使用 <!DOCTYPE html><html lang="en" dir="ltr"><head><meta charset="utf-8"><title>Tab简单的选项卡切换</
2018-08-30 09:37:31
1312
原创 Jquery Tab 选项卡切换
jquery Tab 选项卡切换 直接上代码,以下为最基本的选项卡切换 以下为效果图 <!DOCTYPE html><html lang="en" dir="ltr"><head><meta charset="utf-8">&
2018-08-23 11:41:05
2135
原创 yii2 console 控制台的使用
yii2 console 控制台的使用 console/controllers/ 下的Demo<?phpnamespace console\controllers;use Yii;use yii\console\Controller;class DemoController extends Controller { public function acti...
2018-08-22 18:02:52
3271
原创 解决 php trim失效问题
php trim无法处理中文的半角圆角等空格 正则解决->$content =preg_replace("/(\s|\ \;| |\xc2\xa0)/","",$str);
2018-07-05 09:16:29
2191
原创 解决mysql [1045] Access denied for user 'root'@'192.168.180.248' (using password: YES)
解决mysql远程连接1045Linux服务器上安装了msyql数据库,Linux下MySQL默认安装完成后只有本地访问的权限,没有远程访问的权限,需要你给指定用户设置访问权限才能远程访问该数据库,下面把我的做法记录一下:grant all privileges on *.* to 'root'@'%' identified by 'root'; 这里的root代表root用户,最后的root...
2018-05-18 11:18:35
24902
8
原创 Linux 的Lnmp环境下为mysql添加环境变量
Linux 的Lnmp环境下为mysql添加环境变量一.问题在Linux 安装完Lnmp 环境后 , 连接Mysql 告诉没有这条命令mysql -uroot -p 命令失效 因为是源码安装的,所以会出现这样的的原因 。集成环境是不会出现的。其实很简单,只需要给mysql 添加下环境变量,如下:编辑下面的文件[root@localhost mysql]# vi /etc/profile 在文...
2018-05-10 15:37:00
2759
原创 Linux中Grep搜索命令详解
Grep搜索命令详解Grep搜索命令 在linux上我们进行开发,难免会涉及到搜索文件,查找文件的工作.我们要对linux中的Grep命令有详细了解,会更方便我们在Linux开展工作. 由于搜索文件要用到正则,所以我先给大家普及一些基本正则Linux正则表达式详解1. ^linux 以linux开头的行2. $php ...
2018-02-23 13:50:36
1417
原创 MySQL常见的索引和区别
MySQL各种索引的区别 Mysql常见索引有:主键索引 PRIMARY KEY(主键索引)唯一索引 UNIQUE(唯一索引) 普通索引 INDEX(普通索引) 全文索引 FULLTEXT(全文索引)组合索引 Mysql各种索引区别:普通索引:最基本的索引,没有任何限制唯一索引:与"普通索引"类似,不同的就是:索引列的值必须唯一,但允许有空值。主键索引:它 是一种特殊的唯一索引,不允...
2018-02-23 08:36:54
718
原创 MySQL事务隔离级别详解
MySQL事务隔离级别详解数据库事务(一)数据并发的问题 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。下面,我们分别通过实例讲解引发...
2018-02-23 08:22:20
263
原创 MySQL数据库各个版本的区别
MySQL数据库各个版本的区别MySQL数据库MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在...
2018-02-22 08:25:15
53583
2
原创 MySQL连接池详解
MySQL连接池详解使用场景 数据库连接是一种关键的、有限的、昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响到程序的性能指标。数据库连接池正是针对这个问题提出来的。 原理 连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲...
2018-02-21 15:09:42
8564
2
原创 MySQL事务的四个隔离级别
MySQL事务的四个属性数据库事务概述 数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离...
2018-02-21 14:41:26
759
原创 FTP 服务器Linux搭建windows访问报错 200 277
Linux的FTP服务器搭建先描述下场景,用ftp搭建服务器,作为公司内部的一个下载站使用 看下下方报错截图linux上搭建的FTP服务器,用windows访问出现报错 先分析200,227的的意思200访问成功(可能是没有权限,所有还是报错)227进入被动模式(ip地址。id端口)报错原因ftp分为主动与被动模式俩种(passive comma
2018-02-05 14:47:33
5356
原创 linux执行windows编写的shell脚本出错
linux执行shell脚本出错的解决办法 DOS/Windows和Linux/Unix的文件换行回车格式不同,基于 DOS/Windows 的文本文件在每一行末尾有一个 CR(回车)和 LF(换行),而 UNIX 文本只有一个换行。解决办法: 使用vi 、 vim 编辑文本 使用命令 :set ff 查看文本格式这里可以看到 fi
2018-02-01 14:28:10
667
原创 编写你的第一个shell脚本
编写你的第一个shell脚本shell脚本 shell脚本,对一个程序员还是很重要的,尤其是运维人员,会使用shell脚本可以很好在Linux服务器上去做你想做的事情,也可以把一些Linux的命令用shell加上其他的语言如Php,Java做出图形化界面,这样可以更好的去管理linux的系统操作。接下来我演示怎么写一个简单的shell脚本。首先我们先做一些基本配
2018-02-01 13:24:23
752
原创 MySQL数据库开发谨记准则
MySQL数据库开发谨记准则1.尽量不在数据库做运算 , 让数据库去做擅长的事情 复杂运算移到程序端CPU尽可能简单应用MySQL2.控制单张表的数据量 合理分表不超载建议单库不超过300 - 400个表3.保持表的身段苗条表字段数少而精单表字段数上限控制在20~50个4.适当的违反范式遵循数据库范式 , 固然重要 , 若需要 , 可以适当的违反 , 做到平衡.适当的加入亢余 , 减少代码复杂度5
2018-01-18 19:33:11
276
原创 JQuery 简单的滚动轮播
Document .wrap{ width: 200px; height: 190px; overflow: hidden; } #table td{ border:1px solid #000; } 111111111 222222222 333333333 444444444 555555555 66
2018-01-17 19:03:54
353
原创 大型Web网站优化总结<二>
大型Web网站优化总结优化三之应用服务器集群优化应用服务器:webserver 业务和逻辑处理应用服务器的集群定义:服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。负载均衡,不仅仅能做反向代理(
2018-01-17 11:15:50
387
原创 Linux 用户及用户组的命令总结
Linux 用户及用户组的命令总结◆ 用户常用:| 管道符,连接执行前后两个命令grep 搜索,检索id 查看当前用户信息useradd 创建用户账号userdel 删除组passwd 创建密码chfn 设置用户资料(地址、电话等)usermod 修改用户信息(uid,gid,用户名) -g 修改
2018-01-17 09:03:42
390
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人