学习笔记
i-euan
这个作者很懒,什么都没留下…
展开
-
php优化
使用ab压力测试 or time php filename.php(查看user对应的时间)少写代码, 多用PHP自身能力性能问题:自写代码冗余较多,可读性不佳,并且性能低为什么性能低?PHP代码需要编译解析为底层语言,这一过程每次请求都会处理一遍,开销大。好的方法:多使用PHP内置变量、常量以及函数PHP代码运行流程要先扫描行数,然后交给zen...原创 2019-07-08 20:54:52 · 128 阅读 · 0 评论 -
PHP面试考点---15.Php框架的基础
Php框架的基础MVC框架的基本工作原理单一入口的工作原理:优势: 可以进行统一的安全性检查, 集中处理程序劣势: url不美观(可以url重写), 性能会低一些常见的模版引擎: php是一种html内嵌的在服务端执行的脚本语言, 但是php有很多可以使php代码和html代码分离的模版引擎, 例如: sma...原创 2019-07-09 14:15:32 · 270 阅读 · 0 评论 -
高并发解决方案---1.高并发和大流量
1. 高并发和大流量真题: php如何解决网站大流量与高并发的问题?高并发架构相关概念并发: 通常是指并发访问, 也就是在相同时间点有多少个访问同时到来什么算是高并发: 通常如果一个系统的日pv在千万以上就算是高并发高并发我们具体关心什么?QPS: 每秒请求或者查询的数量, 在互联网领域指每秒响应请求数(指HTTP请求)吞吐量: 单位时间内处理的请求数量(通常由qps与...原创 2019-07-09 14:15:43 · 2816 阅读 · 0 评论 -
高并发解决方案---2.防盗链
web资源防盗链什么是防盗链?盗链: 盗链是指在自己的页面上展示一些并不在自己服务器上的内容, 获得他人服务器上的资源地址, 绕过别人的资源展示页面, 直接放在自己的页面上最终给用户提供此内容; 常见的就是小站盗用大战的图片, 音乐, 视频, 软件等资源; 通过盗链的方法可以减轻自己服务器的负担, 因为真实的空间和流量均是来自别人的服务器;防盗链: 防止别人通过一些技术手段绕过本...原创 2019-07-09 14:16:09 · 186 阅读 · 0 评论 -
高并发解决方案---3.减少http请求次数
图片可以使用图片地图或者css scripts(css精灵)来减少http请求次数性能影响: 图片地图和css scripts要比普通的加载时间要快50%合并脚本和样式表适:使用外部的js和css文件引用的方式, 因为这要比直接写在页面中性能要更好一点; 独立的一个js比用多个js文件组成的页面载入要快38%; 把多个脚本合成一个脚本, 把多个样式表合成一个样式表...原创 2019-07-12 10:04:35 · 826 阅读 · 1 评论 -
高并发解决方案---4.浏览器缓存和数据压缩
高并发只能通过提升服务器负载解决?流量优化,前端优化,数据库优化缓存只能做数据库缓存吗?数据库缓存, 文件缓存, 浏览器缓存http缓存机制http缓存模型中, 如果请求成功会有三种情况;200 from cache : 直接从本地缓存中获取响应, 最快速, 最省流量, 以为根本没有向服务器发起请求304 not modified : 协商缓存, 浏览器在本...原创 2019-07-12 10:04:47 · 293 阅读 · 0 评论 -
高并发解决方案---5.CDN加速
CDN加速什么是CDNCDN的全称是Content Delivery Network, 即内容发布网络尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节, 使内容传输的更快更稳定在网络各处放置节点服务器所构成的在现有的互联网基础上的一层智能虚拟网络CDN系统能够实时地根据网络流量和各节点的链接,负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用...转载 2019-07-12 10:05:00 · 1366 阅读 · 0 评论 -
高并发解决方案---6.建立独立的图片服务器
独立的必要性分担web服务器的i/o负载--将费资源的图片服务分离出来, 提高服务器的性能和稳定性能够专门对图片服务器进行优化--为图片服务器设置针对性的缓存方案, 减少带宽成本, 提高访问速度提高网站的可扩展性--通过增加图片服务器, 提高图片吞吐能力采用独立域名原因:同一域名下浏览器的并发连接数有限制, 突破浏览器链接数的限制由于cookie的原因, 对缓存不...转载 2019-07-12 10:05:17 · 718 阅读 · 0 评论 -
高并发解决方案---7.动态语言静态化
什么是动态语言静态化将现有的php等动态语言的逻辑代码生成静态html文件, 用户访问动态脚本重定向到静态html文件的过程对实时性要求不高的页面为什么要静态化原因:动态脚本通常会做逻辑计算和数据查询, 访问量越大, 服务器压力越大访问量大时可能会造成cpu负载过高, 数据库服务器压力过大静态化可以减小逻辑处理压力, 降低数据库服务器查询压力静态化的实现...转载 2019-07-12 10:05:33 · 310 阅读 · 1 评论 -
高并发解决方案---9.数据库缓存
数据库缓存相关概念什么是数据库缓存为什么要使用缓存使用mysql查询缓存使用memcache缓存使用redis缓存什么是数据库缓存MySQL等一些常见的关系型数据库都存储在磁盘当中, 在高并发场景下,业务应用对MySQL产生的增、删、改、查的操作造成巨大的I/O开销和查询压力,这无疑对数据库和服务器都是一种巨大的压力 ,为了解决此类问题,缓存数据的概念应...转载 2019-07-12 10:05:46 · 430 阅读 · 0 评论 -
高并发解决方案---10.mysq数据库优化
优化方向数据表数据类型优化字段使用什么样的数据类型更合适字段使用什么样的数据类型性能更快tinyint(0-255)、smallint(几百几千)、bigint(非常达的数)考虑空间的问题,考虑范围的问题,没有负数要加上无符号char、varchar存储字符串长度是否固定enum特定、固定的分类可以使用enum存储效率更快IP地址的存...转载 2019-07-12 10:06:01 · 121 阅读 · 0 评论 -
高并发解决方案---11.web服务器负载均衡
web服务器负载均衡使用nginx模拟实现负载均衡添加三个server,8080、8081、8082三个端口当作三台服务器//请无视以下行号67 server68 {69 listen 8080 default_server;70 #listen [::]:80 default_server ipv6only=on;71 server_name _;72 ...转载 2019-07-12 10:06:16 · 275 阅读 · 0 评论 -
css js 合并压缩工具 --- Minify
合并css和js文件可以减少http的请求数量, 从而提升页面访问速度地址:http://code.google.com/p/minify转载 2019-07-12 10:06:33 · 973 阅读 · 0 评论 -
PHP面试考点---14.程序功能设计
程序功能设计真题: 编写一个在线留言本, 实现用户在线留言功能, 留言信息存储到数据库, 要求设计数据表内容以及使用php编码完成首先考虑表字段然后创建数据表需要字段: id, 留言标题, 留言内容, 留言时间, 留言者Create messages(Id int unsigned not null auto_increment primary key,Title var...原创 2019-07-09 14:15:16 · 173 阅读 · 0 评论 -
PHP面试考点---13.mysql考察点
1.数据类型int(0) 整形,0代表最小宽度,用于填充Char(16) 定长字符串,16代表长度,超过16的会被截断,不够16时空格填 充Varchar(16) 变长字符串,16代表长度,超过16的会被截断,不够16时缩小长 度,不超过255时使用1个字节储存长度,超过255使用2个字节Decimal(5,2) 存储大数值,5长度,2小数位数2.基本操作数据库连...原创 2019-07-09 14:14:30 · 262 阅读 · 0 评论 -
PHP面试考点---12. Ajax基本内容
12.Ajax基本内容Ajax技术利用了什么协议? 简述ajax的工作机制;考点:ajax的基本工作原理Ajax的基本概念Asynchronous javascript and xml通过后台与服务器进行交换少量的数据,ajax可以实现网页的异步跟新Ajax的工作原理XMLHttpRequest 是ajax的基础XMLHttpRequest 用于在后台与服务器交换...原创 2019-07-09 14:14:13 · 159 阅读 · 0 评论 -
全文检索
全文检索结构化数据行数据, 存储在数据库里, 可以用二维表结构来逻辑表达实现的数据能够用数据或统一的结构加以表示数字.符号.枚举非结构化数据无法用数字或统一的结构表示文本,图像,声音,网页结构化数据属于非结构化数据非结构化数据即为全文数据两种方法顺序扫描法索引扫描法全文检索的基本思路, 也即将非结构化数据中的一部分信息提取出来, 重新组织,...原创 2019-07-08 20:56:38 · 157 阅读 · 0 评论 -
PHP面试考点---1. php引用变量的概念和定义(延伸php引用变量的原理);
1.php引用变量的概念和定义(延伸:php引用变量的原理);概念:在php中引用意味着用不同的名字访问同一个变量内容;定义方式:使用&符号;工作原理:$a = range(1, 1000);$b = $a;$a与$b指向的是一个空间,当$a发生改变的时候,$b还是指向原来的空间,而$a触发cow(copy on write)机制指向了另一个新空间...原创 2019-07-08 20:58:16 · 258 阅读 · 0 评论 -
PHP面试考点---2. 字符串的定义方式,和各自区别;
2.字符串的定义方式,和各自区别;定义方式: 单引号,双引号,heredoc和newdoc单引号: 不能解析变量字符串和变量/字符串之间用点连接不能转义字符,只能解析单引号和反斜线本身双引号: 可以解析变量,用{}标识也是用点连接可以转义字符Heredoc: 一般用于定义大文本,相当于双引号;$str = <<<EoTEoTNewdo...原创 2019-07-08 20:58:59 · 245 阅读 · 0 评论 -
PHP面试考点--3. 运算符考察点 Foo()和@foo()的区别;
3.运算符考察点 Foo()和@foo()的区别;@是错误抑制符;当放在一个php表达式之前,该表达式的所有错误会被忽略;运算符的优先级:递增/递减>算术运算符>大小比较>逻辑与>逻辑或>三目>赋值比较运算符:== 和=====比较等值===比较等值和类型False的七种情况都是等值的但类型不相等递增/递减:不影响布尔值...原创 2019-07-08 20:59:29 · 773 阅读 · 0 评论 -
PHP面试考点---4. 流程控制
4.流程控制请列出3中php循环数组的方法,说出各自的区别For / Foreach/ while.list().each()组合For只能遍历索引数组,其他两个能遍历索引数组和关联数组Foreach能重置数组的指针While.list.each 不能重置指针Php分支考点If..elseif只能有一个表达式为true,即只能执行一个语句块,多个elseif是互为排斥...原创 2019-07-08 21:00:24 · 111 阅读 · 0 评论 -
PHP面试考点---5. 自定义函数及内部函数
5.自定义函数及内部函数静态变量:是一个局部的变量,方法执行完后该变量不会消失;Static关键字:1.仅初始化一次2.初始化时需要赋值;3.每次执行该函数值会保留;4.Static修饰的变量是局部的,仅函数内部有效;5.可以记录函数的使用次数,从而可以在某些条件下终止递归;函数的参数:Function func($a){} 执行完func()之...原创 2019-07-08 21:01:23 · 216 阅读 · 0 评论 -
PHP面试考点---6. 正则表达式
6.正则表达式作用: 分割/查找/匹配/替换字符串分隔符: 正斜线/ hash符号# 取反符号~通用原子:\d: 0-9任意一个数字\D: 除了0-9的内容\w: 任意一个英文字母\W: 除了英文字母\s: 空白字符(空格,换行,回车,制表符)\S: 除了空白字符限制字符:?: 零次或者一次*: 零次或者多次+: 一次或多次{n}: n次...原创 2019-07-08 21:02:03 · 285 阅读 · 0 评论 -
PHP面试考点---7. 文件操作
7.文件操作Fopen()函数用来打开一个文件,打开时需指定打开模式打开模式: r 只读R+ 读写W 清空写W+ 创建写A 追加写A+ 追加创建写X 创建,如果文件存在则报错X+ 创建读写写函数: fwrite()读函数:fread()关闭: fclose()名称相关:Basename()文件名Dirname()目录名Pathi...原创 2019-07-08 21:03:17 · 151 阅读 · 0 评论 -
PHP面试考点---8. 会话控制
8.会话控制简述cookie和session得区别及各自的工作机制,存储位置等,简述cookie的优缺点;(会话控制技术,工作原理和优缺点);(为什么要使用会话控制技术? 因为用户端和服务端是通过http协议来传输的,而http协议是无状态的,也就是说同一个用户请求两次http协议不会认为这是一个人发出的,会认是独立的操作,没有办法保持用户的登录状态,cookie和session可以保持...原创 2019-07-09 14:12:55 · 147 阅读 · 0 评论 -
PHP面试考点---9. 面向对象
面向对象1.类和对象:类是对象的概念(抽象),对象是类的具体;比如类是一类物品,具体到个体这个个体就是对象;2.类和对象的使用定义类:Class className {}使用(实例化):$obj = New className; // $obj 就是该类的对象;3.类的构造方法和析构方法构造方法: Function __const...原创 2019-07-09 14:13:15 · 246 阅读 · 0 评论 -
PHP面试考点---10. 网络协议
10.网络协议状态码: 100 请求正在处理200 成功202 服务器接受请求,但未处理204成功单未返回实体内容300 重定向301 永久性重定向302 临时性重定向400 客户端错误403 被服务器拒绝404 服务器未找到资源500 服务器错误503 服务器忙,无法处理请求OSI七层模型物理层: 建立/维护/断开物理连接...原创 2019-07-09 14:13:28 · 167 阅读 · 0 评论 -
PHP面试考点---11. 开发环境及配置
11.开发环境及配置版本控制软件集中式: svn分布式: gitPhp的运行原理(nginx-FPM)FastCGI的概念: CGI的改良版本,打开一个进程的时候不会kill,保留这个进 程使这个进程处理多个请求;Php-FPM:是fastCGI的进程管理器;包括master 和 worker进程;master负 责监听端口,worker负责处理php代码Php常见...原创 2019-07-09 14:13:59 · 158 阅读 · 0 评论 -
如何提升秒杀接口速度
1.将接口静态化2.快速终止的逻辑放在前面3.增加冗余字段的定制化的数据,保证程序更快(空间换取时间)转载 2019-07-12 10:07:03 · 661 阅读 · 0 评论