- 博客(42)
- 收藏
- 关注
原创 备忘录
进程之间互不影响,开销大,所有的进程都是由内核管理的,所有的进程也都是相互隔离的线程间可以共享数据,但是开销也比较大,比如一万个并发就需要一万个线程协程是可以看做轻量级的线程,但是需要语言的支持,如果不支持就需要自己去实现相应的调度器一般来说php执行会从上到下依次执行,中间卡住了那就一直就卡住了,要执行完之后才能进行下一步,使用多线程的话可以不经过中间那步就直接进入下一步,但是这里的问题是也不知道上一步什么时候会执行完成,很可能会出现脏数据线程共享内存叫做共享内存系统go最大的优势是轻量级,可
2021-01-14 18:34:05
183
转载 Nginx负载均衡的详细配置及使用案例详解
这是我看到的关于配置nginx负载均衡最详细的一篇文章感谢楼主大大,特此转载,侵删https://www.cnblogs.com/wang-meng/p/5861174.html#top1,话不多说, 这里我们来说下很重要的负载均衡, 那么什么是负载均衡呢?由于目前现有网络的各个核心部分随着业务量的提高,访问量和数据流量的快速增长,其处理能力和计算强度也相应地增大,使得单一的服务器设备根本无法...
2019-02-19 16:24:15
679
原创 Linux压测 ab
1,安装sudo apt-get install apache2-utils2,使用ps:具体的参数可以去网上查查,但是我们平时用-n和-c就够了-n requests在测试会话中所执行的请求个数。 默认时,仅执行一个请求,但通常其结果不具有代表意义。-c concurrency一次产生的请求个数。默认是一次一个。ab -n 500 -c 2 http://127.0.0.1/i...
2018-12-20 14:27:55
323
原创 环信composer包
git地址:https://github.com/dreamsoday/IM.gitlaravel引用1,在composer.json中引用"lgy/console": “*”2,composer update3,在app.php中的providers进行配置 Lgy\IM\IMServiceProvider::class4,php artisan vendor:publish5,在c...
2018-12-19 21:22:29
271
原创 制作laravel扩展配置文件不生效
在 config/app.php 文件夹下,添加该服务在 providers 数组下添加eg.App\Providers\RouteServiceProvider::class,再执行php artisan vendor:publish
2018-12-19 19:23:30
722
原创 制作一个简单的composer包
首先感谢大神,福袋链接https://segmentfault.com/n/1330000006227425(侵删)1,在github上创建一个库,再clone到本地(先把公钥放在你的github上)git clone git@github.com:victorruan/composer-car.git cd composer-car2,生成composer.json文件$ compo...
2018-12-19 12:20:24
2023
转载 MySQL最左原则和索引顺序的关系
最近一直在看关于索引的问题,其中看到组合索引的时候一直说的都是最左原则,但是自己测一下才会发现不按顺序有时候也会走索引,不明白为什么,然后就看到了大佬的文章,这里转载一下来自大佬https://blog.csdn.net/u013164931/article/details/82386555(侵删)创建表create table test(a int ,b int,c int,d i...
2018-11-28 11:33:10
689
转载 TCP三次握手四次挥手
最近一直在看这个,但是很多具体的东西都看不懂,然后找到了大神写的一篇文章,我正好能看得懂,特此转载,侵删https://www.cnblogs.com/chengyunshen/p/7196348.html在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.其中,对于我们日常的分析有用的就是前面的五个字段。它们的含义是:SYN...
2018-11-23 14:58:04
217
转载 php static拙见
最近一直在用static,之前的项目也看人家用过,但是具体为什么也说不清,一直都只用在function上,刚看到了一篇大神的文章,现做记录释义:静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果。我之前一直static function就是因为实例方法需要先创建实例才可以调用,比较麻烦,静态方法不用,比较简单,可是…请往下看【事实上如果...
2018-11-22 19:36:45
195
原创 mysql字符串函数:locate()
今天做一个模糊查询,一开始使用的是like,但是发现对于特殊字符操作难以处理,查询特殊字符查不到,后来听同事告诉这个函数,天秀语法 一:LOCATE(substr,str)返回字符串substr中第一次出现子字符串的位置 str。语法二:LOCATE(substr,str,pos)返回字符串substr中第一个出现子 字符串的 str位置,从位置开始 pos。0 如果substr不在,...
2018-11-21 15:28:54
1827
转载 秒杀系统架构优化思路
这是我见过一篇最全的关于秒杀的思路,太厉害,转载大神的,地址在最下方一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几...
2018-11-17 16:49:27
158
原创 HTTP协议备忘录
简介众所周知,http简单来说是超文本传输协议(Hyper Text Transfer Protocol),他基于TCP/IP协议来传递数据,查询结果,html,图片等相关信息此处拿出小本本记录一下:HTTP协议工作于客户端和服务器之间的,浏览器作为客户端通过url向web服务器发送请求,然后web服务器通过相关处理,再把请求结果或者错误信息返回给浏览器端这里只做简单描述一下客户端和服务器在...
2018-11-17 16:45:09
163
原创 lavavel/lumen设置自定义函数,全局共用
1,bootstrap/app.php里require_once __DIR__.'/../app/Console/functions.php';使用时直接调用方法名称就行2,在任意位置创建一个php文件,名字任意,通过composer自动加载机制引入这个文件。修改composer.json文件,在autoload里加入files字段,值就填上一步创建php文件的路径及文件名。{...
2018-11-17 10:46:54
1577
转载 php面向对象_get(),_set()的用法
将大佬的东西画蛇添足了一下,看起来方便一些,原文https://www.cnblogs.com/zzc134680/p/5570519.html简单来说__set()方法用来设置私有属性__get()方法用来获取私有属性__get()方法:这个方法用来获取私有成员属性值的,有一个参数,参数传入你要获取的成员属性的名称,返回获取的属性值,这个方法不用我们手工的去调用,因为我们也可以把这个方法...
2018-11-15 11:01:53
2210
原创 php使用curl上传文件
$url = “http://xxx/upload”;$post_data = array(//要上传的本地文件地址“uploadFile” => ‘@/audio.mp3’);ch=curlinit();curlsetopt(ch = curl_init();curl_setopt(ch=curlinit();curlsetopt(ch , CURLOPT_URL , ur...
2018-11-15 11:01:45
437
原创 WordPress安装插件主题时“发生了错误:未能找到WordPress内容目录(wp-content)” 的解决方法
通过FTP,找到WordPress网站根目录里的 wp-config.php 配置文件,把下面这段代码加到该文件末尾(最后一行的”?>”之前):(以我的根目录为‘wwwroot’为例):define(‘FTP_BASE’, ‘wwwroot’);define(‘FTP_CONTENT_DIR’, ‘wwwroot/wp-content’);define(‘FTP_PLUGIN_DIR’...
2018-11-15 11:01:37
6008
转载 wordpress更换域名的几个步骤
一、换空间换域名1、如果是上述问题,打包备份旧空间ftp内的所有文件,进旧站数据库phpmyadmin里导出你网站的数据库sql文件;2、将备份的ftp所有文件上传至新的空间FTP内,将备份的sql上传到新空间的数据库phpmyadmin内;3、打开新空间ftp的网站根目录找到wp-config.php文件,编辑它(php文件不要用txt去编辑),进行编辑配置新的数据库连接信息;4、去新的...
2018-11-15 11:01:29
6736
1
原创 SQL Error:Invalid bind-variable name ‘:50’
问题:首次安装直接提示SQL Error:Invalid bind-variable name ‘:50’解答:1,修改install/db/system_setting.sql文件中第77行,从 (‘report_reason’, ‘s:50:”广告/SPAM\n违规内容\n文不对题\n重复发问”;’),修改为 (‘report_reason’, ”), 然后执行安装,安装完成后,在数据...
2018-11-15 11:01:21
478
原创 常用SQL优化
1,大批量插入数据alter table tab_name disable keysload data infilealter table tab_name enable keys【注:disable keys 和 enable keys 用来打开或者关闭MyISAM表非唯一索引的更新,在导入大量的数据带到一个非空的MyISAM表时,通过设置这两个命令,可以提高导入的效率。对于导入大量数据...
2018-11-15 11:01:11
213
原创 MySQL索引问题
索引的存储分类:B-Tree索引:最常见的索引类型,大部分引擎都支持B树类型;HASH索引:只有Memory引擎支持,使用场景简单;R-tree索引(空间索引):空间索引是MyISAM的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少,不做特殊介绍;Full-text(全文索引):全文索引也是MyISAM的一个特殊索引类型,主要用于全文索引,INnoDB从MySQL5.6版本开始提...
2018-11-15 11:01:00
176
原创 MySQL分区
MySQL分区优点:1,和单个磁盘或者文件系统分区相比,可以存储更多数据2,优化查询。在where子句中包含分区条件时,可以只扫描必要的一个或者多个分区来提高查询效率;同时涉及sum()和count()这类聚合查询时,可以容易的在每个分区上并行处理,最终只需要汇总所有分区得到的结果3,对于已经过期或者不需要保存的数据,可以通过删除与这些数据有关的分区来快速删除数据4,跨多个磁盘来分散数据查...
2018-11-15 11:00:50
959
原创 MySQL防SQL注入
1,mysql_real_escape_string()函数已经不安全,可以利用编码的漏洞来实现输入任意密码就能登录服务器的注入攻击2,使用拥有Prepared Statement机制的PDO和MYSQLi来代替mysql_query(注:mysql_query自 PHP 5.5.0 起已废弃,并在将来会被移除)【注:PreparedStatement使用预编译机制,在创建PreparedSt...
2018-11-15 11:00:38
819
原创 MySQL SQL MODE(sql模式)
在MySQL中,sql mode主要常用来解决以下几类问题1,通过设置sql mode,可以完成不同严格程度的数据校验,有效的保障数据的准确性(TRADITIONAL,STRICT_TRANS_TABLES)【注:NO_BACKSLASH_ESCAPES可以使反斜线变为普通字符;PIPES_AS_CONCAT:可以将||视作字符串连接符操作;ANSI可以使超出字符串仍然添加成功,严格模式的会直...
2018-11-15 11:00:28
277
原创 MySQL事务控制和锁定语句
【基础MVCC浅析:http://blog.sina.com.cn/s/blog_711b11fd0101bhks.html】【http://www.111cn.net/database/mysql/55482.htm;http://www.cnblogs.com/zhaoyl/p/4121010.html】【锁定语句】mysql发现 lock tables 命令的时候,会将带有锁标记的表(...
2018-11-14 10:09:10
230
原创 MySQL触发器
创建语法:create trigger trigger_name trigger_time trigger_event on tbl_name for each row trigger_stmt;【注:触发器只能创建在永久表上,不能对临时表创建触发器】trigger_time:after:是先完成数据的增删改,然后再触发,触发的语句晚于监视的增删改,无法影响前面的增删改动作;也就是说先插入订...
2018-11-14 10:09:01
1193
原创 MySQL存储过程和函数
11.1,什么是存储过程和函数存储过程和函数是事先经过编译并存储在数据库中的一段sql语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少在数据库和应用服务器之间的传输,对于提高数据处理的效率的有好处的存储过程和函数的区别在于函数必须有返回值,而存储过程没有[可以有也可以没有],存储过程的参数可以使用IN,OUT,INOUT类型,二函数的参数只能是IN类型的。如果由函数从其他类型...
2018-11-14 10:08:53
121
原创 MySQL视图
【注:视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询,而自身不包含任何数据。】10.1,视图相对于普通表的优势:简单:使用视图的用户完全不需要关心后面对应的表的结构,关联条件和筛选条件,对用户来说已经是过滤好的符合条件的结果集安全:使用视图的用户只能访问他们被循序查询的结果集,对表的权限管理并不能限制到某个行某个列,三十通过视图就可以简单地实现查询数据独立:一旦视...
2018-11-14 10:08:42
744
原创 表类型存储引擎的选择
8.1,MyISAM的表支持三种不同的存储格式:静态(固定长度)表,动态表,压缩表静态表是默认的存储方式,每个字段都是非变长字段,优点是存储迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常会比动态多。【静态表的数据在存储时会按照列的宽度定义补足空格,但是在访问的时候不会得到这些空格,这些空格在返回给应用之前已经去掉,如果保存的内容后面本来就带有空格,那么也会被过滤】动态表记录是不固定长度...
2018-11-14 10:08:33
132
原创 MySQL索引
7.1,普通索引ALTER TABLE table_name ADD INDEX index_name ( column )7.2,主键索引ALTER TABLE table_name ADD PRIMARY KEY ( column )7.3,唯一索引ALTER TABLE table_name ADD UNIQUE ( column )7.4,全文索引ALTER TABLE ta...
2018-11-14 10:08:21
140
原创 MySQL函数
3,常用函数concat(s1,s2…sn) 链接s1,s2…sn为一个字符串【任何字符串与null链接结果都为null】insert(str,x,y,instr) 将字符串str从第x位置开始,y个字符串的子串替换为字符串instrlower/upper(str) 将字符串所有字符变小/大写left/right(str,x) 返回字符串str最左/右边的x...
2018-11-14 10:08:10
76
原创 MySQL支持的数据类型
2.1整值类型【整数】当加入zerofill参数的时候,会把数值前用0填充剩余的宽度,同时当设置了宽度限制之后,如果插入大于宽度限制的值,不会截断或插不进去报错当选择属性UNSIGNED时,使参数属性的取值范围取值是正常值的下限为0,eg.tinyint有符号范围-128~~127,无符号范围是0-255,当一列制定为zerofill,则MySQL自动为该列添加UNSIGNED属性【小数】...
2018-11-14 10:08:01
437
原创 SQL基础
1.1DDL,数据定义语言(操作表),比如create,drop等create database dbme;【建库】show databases/tables;【展示库/表】use database;【使用某数据库/表】drop databases dbname;【删除某库/表】alter table dbname modify column varchar(20);【修改某表的字段属性...
2018-11-14 10:07:50
73
原创 PHP单例模式
单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例<?php //单例class Uni{ //创建静态私有的变量保存该类对象 static private $instance; //参数 private $config; //防止直接创建对象 private function __...
2018-11-14 10:07:31
1471
转载 wecenter 3.1.2替换编辑器为umeditor过程实录
原文链接http://www.kandaoni.com/experience/16为了防止自己忘掉,还是放上来吧。改后有许多BUG…改的太多就不放上来了wecenter 3.1.2替换编辑器为umeditor过程实录WeCenter 是一款知识型的社交化开源社区程序,专注于企业和行业社区内容的整理、归类、检索和再发行。wecenter一开始是用的是markdown编辑器,现在改成修改过的...
2018-11-13 11:35:00
636
转载 Pyhton之小猪佩琦(非原创)
coding:utf-8import turtle as tt.pensize(4) # 设置画笔的大小t.colormode(255) # 设置GBK颜色范围为0-255t.color((255,155,192),“pink”) # 设置画笔颜色和填充颜色(pink)t.setup(840,500) # 设置主窗口的大小为840*500t.speed(10) # 设置画笔速度为10...
2018-11-13 11:17:15
354
原创 Centos下mcrypt安装包链接
在安装mcrypt之前需要先安装libmcrypt和mhash,具体安装方法我就不说了,网上都有,但是一定要注意mcrypt在php7.2中已经被废弃了,必须要安装的话就往下换吧,我这里主要给这三个安装包,因为我找这三个包找了半天libmcrypthttp://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gzmhashhttp:...
2018-11-13 11:14:34
516
原创 error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory
报错:在安装mysqli的时候,出现error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory解答:pwd/usr/local/src/php-7.1.15/ext/mysqlivim mysqli_api.c把第36行的#include “ext/mysqlnd/mysql_float_to_doubl...
2018-11-13 11:13:35
801
转载 面向对象和面向过程的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回...
2018-11-13 11:12:36
99
原创 php7新特性
1,在调用函数的时候,使用 … 运算符, 将 数组 和 可遍历 对象展开为函数参数。 在其他编程语言,比如 Ruby中,这被称为连接运算符,。12345678<?phpfunction add($a, $b, $c) { return $a + $b + $c;}$operators = [2, 3];echo add(1, ...$operators...
2018-11-13 11:11:20
158
原创 linuxphp编译安装
首先根据自己的需求下载php安装包默认情况下Nginx和PHP他俩之间是一点感觉没有的。Apache+PHP编译后生成的是模块文件,而Nginx+PHP需要PHP生成可执行文件才可以,所以要利用fastcgi技术来实现Nginx与PHP的整合,这个只要我们安装时启用 FastCGI即可。此次我们安装PHP不仅使用了FastCGI,而且还使用了PHP-FPM这么一个东东,PHP-FPM说白了是一个...
2018-11-13 11:10:08
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人