- 博客(27)
- 收藏
- 关注
原创 centos7 php7安装redis扩展
环境linux centos7 php7.1一、下载安装包下载地址: http://pecl.php.net/package/redis[root@localhost ~]# wget -c http://pecl.php.net/get/redis-4.2.0.tgz二、解压安装包[root@localhost ~]# tar -zvxf redis-4.2.0.tgz...
2019-01-08 13:49:15
3310
原创 centos7 php7安装swoole扩展
环境linux centos7 php7.1一、下载swoole扩展安装包下载地址: http://pecl.php.net/package/swoole[root@localhost ~]# wget -c http://pecl.php.net/get/swoole-4.2.12.tgz二、解压安装包[root@localhost ~]# tar xzvf swoo...
2019-01-08 13:36:43
1075
原创 PHP 浮点数计算问题
/** * 任意两个数的数学计算(+、-、*、/)支持扩展其他运算符 详细请阅读 PHP BC数学函数 * @param float|int $left_operand 左操作数 * @param float|int $right_operand 右操作数 * @param string $operator 运算符 * @param int $scale 结果保留小数点精度 * @r...
2018-09-29 15:29:09
399
原创 面试题
web安全:SQL注入: 由于用户输入一些不安全的数据。 防范:白名单与黑名单,转义,过滤。CSRF(跨站请求伪造): 通过模拟cookie信息,进行恶意请求 防范:验证码,tokenXSS攻击: 用户输入javascript代码,过滤处理DDOS攻击: 对服务器短时间内大量请求,造成服务器挂掉宕机。缓存:使用缓存场景: ...
2018-08-22 17:34:59
189
原创 Mysql MYISAM与Innodb区别
一、存储结构 每个myisam的表在磁盘空间上有三个文件,表定义文件(.frm),数据文件(.MYD),索引文件(MYI) Innodb:所有表都存储在同一个数据文件(也可能是多个,或者独立的表空间)二、存储空间 MYISAM:可被压缩,存储空间较小。 Innodb:需要更多的内存和存储,会在主内存建立其专用的缓冲池用于高速缓冲数据和索引。 MYISAM的索引...
2018-08-21 17:12:50
314
原创 Mysql Explain语句详解
一、Explain简介: Explain是用来分析SQL语句的运行结果,通过该命令可以获取一下信息:表的读取顺序,数据库读取操作的操作类型,哪些索引可以使用,实际使用了哪些索引,表之间的引用,每张表有多少行别优化器查询等信息。二、体验Explain执行效果 EXPLAIN SELECT e.*, d. NAME AS deparment_name, d...
2018-08-18 14:14:01
866
1
原创 Mysql的索引是什么?如何创建索引?创建索引的原则?怎么优化?
索引的理解:索引是对数据库表中的一列或多列的值进行排序的一种数据结构。索引的作用就类似于书本的目录,新华字典的拼音,偏旁部首的首查字,可以快速的检索到需要的内容,mysql在300万条记录性能就下降了,虽然mysql官方文档说达500万~800万,所以当数据达到几百万的时候,那么索引就很有必要了。当表中有大量记录的时候,若要对表进行查询,第一种就是就需要把表中的记录全部取出来,在和查...
2018-08-17 16:37:49
2468
转载 MySql—视图、函数、存储过程、触发器
MySql高级—视图、函数、存储过程、触发器目录 一、视图 11、视图的定义 1 2、视图的作用 1 ...
2018-08-16 16:34:36
430
原创 PHP 获取IP所属地区
$ip=get_client_ip();if(!preg_match("/^[\d]+\.[\d]+\.[\d]+\.[\d]+$/isU",$ip)){ echo "IP地址错误";}else{ //淘宝IP接口 $url='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip; $result = fil...
2018-08-04 10:32:41
1074
转载 缓存系列文章--7.无底洞问题(multiget hole)
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678一、背景1. 什么是缓存无底洞问题: Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。他们发现一个问题–memcached的连接效率下降了,于是添加memcached节点,添加完之后,并没有好转。称为“无底洞”现象2. 缓存无底洞产...
2018-08-01 18:02:31
569
转载 缓存系列文章--6.缓存雪崩问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678一、什么是缓存雪崩 从下图可以很清晰出什么是缓存雪崩: 1. 由于Cache层承载着大量请求,有效的保护了Storage层(通常认为此层抗压能力稍弱),所以Storage的调用量实际很低,所以它很爽。大笑 2. 但是,如果Cache层由于某些原因(宕机、cache服务挂了或者...
2018-08-01 17:24:01
171
转载 缓存系列文章--5.缓存穿透问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678一. 缓存穿透 (请求数据缓存大量不命中): 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 例如:下图是一个比较典型的cache-storage架...
2018-08-01 17:06:16
225
转载 缓存系列文章--4.缓存的粒度控制
一、什么是缓存粒度下面这个图是很多项目关于缓存使用最常用的一个抽象,那么我们假设storage层为mysql, cache层为redis。 假如我现在需要对视频的信息做一个缓存,也就是需要对select * from video where id=?的每个id在redis里做一份缓存,这样cache层就可以帮助我抗住很多的访问量(注:这里不讨论一致性和架构等等问题,只讨论缓存的粒度问题)...
2018-08-01 16:22:17
1494
转载 缓存系列文章--3.缓存常用更新策略对比(一致性)。
一、缓存的几种更新策略从下面的表格看,缓存的更新策略大概氛围三种、本文将从一致性和维护成本两个方面对于三种缓存更新策略进行简要说明,因为这些东西比较理论和抽象、入哪里说得不对,欢迎拍砖注: 1):一致性:缓存和真实数据源(例如mysql, hbase, elasticsearch等等)是否存在一段时间数据的不一致。 2):维护成本: 开发人员的开发和维护成本。 ...
2018-08-01 15:59:43
395
1
原创 Centtos Memcahed安装 与PHP Memcache扩展安装和使用
Memcache与Memcached的区别 Memcached是一个内存缓存系统,而Memcache是PHP的一个扩展,是PHP用于操作和管理emcached工具 如果安装了memcached,而没有安装memcache,则PHP无法操作memcached,但是用命令行可以操作memcached 如果安装了memcache,没没有安装memcached,也无法使用, ...
2018-07-31 15:59:30
210
原创 QPS与TPS的区别和理解
TPS: (每秒事务处理量(TransactionPerSecond)) 一个表达系统处理能力的性能指标,每秒处理的消息数(Transaction Per Second), 每秒事务处理量 - 性能测试的术语介绍 每秒钟系统能够处理的交易或事务的数量。它是衡量系统处理能力的重要指标。TPS是LoadRunner中重要的性能参数指标。 一个事务是指一个客户机向服务器发送请求...
2018-07-30 09:35:14
9551
原创 PHP 实现文件下载
readfile(PHP 4, PHP 5, PHP 7) readfile — 输出文件 int readfile ( string $filename [, bool $use_include_path = false [, resource $context ]] )读取文件并写入到输出缓冲。 参数名 说明 filename 要读取的文件名。...
2018-07-23 16:38:45
4971
原创 PHP 轻松实现导出导入CSV文件
使用PHP内置函数fputcsv、fgetcsv两个函数轻松实现fputcsv (PHP 5 >= 5.1.0, PHP 7) fputcsv — 将行格式化为 CSV 并写入文件指针 int fputcsv ( resource $handle , array $fields [, string $delimiter = ',' [, string $enclosu...
2018-07-23 14:18:35
6597
转载 缓存系列文章--2.是否真的需要缓存?
一、缓存的成本和收益是什么:既然要讨论是否真的需要缓存这个问题,就要知道缓存带来的成本与收益(好处、坏处)是什么? 上面应该清楚的表达了使用缓存后的收益和成本分别是什么。下面将进行详细的解析二、缓存成本与收益详解:收益是很明显的,通常来说一个设计还不错的缓存系统,能够帮助你的业务实现加速读写,同时帮助降低了后端负载。(1) 加速读写:通常来说加速是明显的,因为缓存通常...
2018-07-21 15:57:25
235
转载 缓存系列文章--1.缓存的一些基本常识
一、基本概念Cache(缓存): 从cpu的一级和二级缓存、Internet的DNS、到浏览器缓存都可以看做是一种缓存。维基百科: 写道 a store of things that will be required in the future, and can be retrieved rapidly. (存贮数据(使用频繁的数据)的临时地方,因为取原始数据的代价太大了,...
2018-07-21 15:38:20
285
转载 使用PHP的CURL基于RESTful风格实现POST字符串或文件上传
目前不管是移动端的API还是调用众多服务商(微信、微博、银行等)的接口大多数都是基于RESTful风格。下面就介绍如何使用PHP基于RESTful风格上传文件或POST字符串。 上传文件代码示例:$url = '提交地址';//$postfields = file_get_contents('文件路径或者文件名'); $ch = curl_init();$params[CURL...
2018-07-19 15:46:40
908
转载 PhpStorm 快捷键大全
PhPStorm 是 JetBrains 公司开发的一款商业的PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能。Phpstrom的一款名为Magicento的插件对快速创建Magento插件十分有用。常用快捷键设置快捷键:`File -> Settings -> IDE Settings -> Keymap...
2018-07-07 13:55:05
327
转载 PHP使用CURL携带ssl证书和秘钥请求接口代码
在使用PHP请求某些接口的时候通常会使用到CURL的方式,不管是http还是https都是支持的,如果请求https遇到的问题可能比较多一点,可参考《PHP使用curl请求https站点的常见错误及解决方案》,另外有些接口可能会要求携带证书请求接口,例如微信支付的某些接口需要使用证书来请求,那如何实现呢?其实也不难,下面给出PHP代码:function postData($url,$pos...
2018-06-26 11:15:58
9624
转载 PHP数组和XML相互转换的函数
//数组转xmlfunction ArrToXml($arr){ if(!is_array($arr) || count($arr) == 0) return ''; $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)){ ...
2018-06-20 20:06:09
152
转载 使用CURL模拟表单上传文件
有时需要使用PHP程序上传文件,其实使用PHP上传文件有多种方式,如果能完全模拟出HTML表单的效果这样服务器端就不用做任何代码的改动了,使用CURL完全可以实现,在PHP5.5之前使用的方式和PHP7.x、PHP5.6x中使用了新的方式,下面是代码示例:$path='';//文件路径if (class_exists('\CURLFile')) { // > PHP5...
2018-06-20 09:21:31
1738
转载 使用CURL实现GET与POST方式请求
CURL支持GET与POST请求,默认GET请求,如果传第二个参数就是POST请求,设置了超时时间,避免程序卡死!/** * 使用curl方式实现get或post请求 * @param $url 请求的url地址 * @param $data 发送的post数据 如果为空则为get方式请求 * return 请求后获取到的数据 */function curlRequest($...
2018-06-19 13:44:25
1172
原创 微信公众号网页授权登录多域名的解决
由于微信网页开发,需要获取用户信息,所以就需要网页授权,但是在微信公众平台公众号只能设置一个回调域名,现在 只有一个公众号,但是我多个业务不同的域名,并都需要拿到用户信息,这时一个回调域名肯定是不能解决问题的,因为公众号设置的回调域名必须要与业务域名一致,不然就会报redirect_uri域名错误。实现思路: 中转域名地址(http://www.zhongzhuan.com),其他要授权的...
2018-06-15 13:45:04
18472
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人