4 月之海的记忆

尚未进行身份认证

暂无相关简介

等级
TA的排名 7w+

Yaconf – 一个高性能的配置管理扩展

这个项目其实不是我新的idea, 这个是我在来微博以后, 第一个优化项目中顺手做的一个小工具, 本身叫做Weibo_Conf. 但是因为Weibo_Conf是属于Weibo扩展的, 里面还有一些其他功能是专门为Weibo定制的. 所以不适合直接开源.随着PHP7的发布, 新增了很多持久化类型的支持比如IS_IMMUTABLE_ARRAY, 于是我就在PHP7下重新开发了Yaconf, 开源出来...

2019-09-23 09:37:16

PHP开发知识必备-Nginx与PHP如何交互

普及Nginx与Php-fpm相关知识点nginx是什么Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。cgi的历史早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。webserver处理不了了,怎么办呢?那就交给php解释器来处理吧!交给php解释器处理很好,但是,...

2019-07-29 15:04:02

PHPExcel导出表格乱码解决

PHPExcel出现乱码的情况主要有两种一、文档属性乱码97-2003格式对中文支持不是很友好,会出现乱码。这个暂没有很好的解决办法!目前可行的方式,就是使用高版本的文档属性,在这里可以使用2007$objWriter=newPHPExcel_Writer_Excel2007($phpexcel);二、内容乱码PHPExcel操作Excel时,时常会出现中文乱码的问题,解决方法...

2019-07-02 17:39:13

数据库优化

大家在面试的时候,是否遭遇过,面试官询问你们是如何进行数据库优化的?那这个问题应该怎么答呢?其实写这个题材的原因是我这几天看到各公众号转的一篇数据库调优的知识(不上链接了),我就稍微翻了几下,上面动不动就来说要对数据库进行水平拆分,我就想反问各位读者,你们几个人经历过水平拆分?现在很多文章,实践性实在太差,只能说纯理论分析。这篇文章最早来自知乎的一个提问,我在其基础上完善了一下。...

2019-06-17 15:24:00

PHP性能优化利器:生成器 yield理解

如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生。但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明显。但是,生成器功能的确非常有用。优点直接讲概念估计你听完还是一头雾水,所以我们先来说说优点,也许能勾起你的兴趣。那么生成器有哪些优点,如下:生成器会对PHP应用的性能有非常大的影响 PHP代码运行时...

2019-06-03 14:44:55

PHP+redis实现session共享

1.为了不同的域名能访问到同一个SESSION_ID,这里把domain设置为统一的。修改php.ini,把默认配置修改为sesssion.cookie_domain=".test.com",这里的“.test.com”根据自己的需要自行修改。2.为了使得数据在不同的网站可以访问到,这里选择把session存储在redis中。修改php.ini,把默认配置修改为session.s...

2019-05-30 11:51:03

PHP使用RabbitMQ实例

相关博文:CentOS6.9安装RabbitMQ和源码编译安装php的RabbitMQ扩展RabbitMQ入门基础CentOS7源码编译安装nginx+php7.2+mysql5.7并使用systemctl管理RabbitMQ的安装过程,工作流程,和一些基础概念已经在前面的笔记中提到了,今天在本地实现了php连接RabbitMQ,以及消息的生产和消费的过程,首先看下没有生产者和消费者的默认Rab...

2019-05-15 11:17:12

centOS7安装Composer

1、进入Composer国内镜像网站文档页查看安装方法:https://docs.phpcomposer.com/00-intro.html2、在centOS系统中进入特定目录执行以下命令:cd /usr/local/composercurl -sS https://getcomposer.org/installer | php注意:该步骤可能遇到以下问题:2.1、ope...

2019-05-13 16:01:47

Redis和MongoDB的区别

项目中用的是MongoDB,但是为什么用其实当时选型的时候也没有太多考虑,只是认为数据量比较大,所以采用MongoDB。最近又想起为什么用MongoDB,就查阅一下,汇总汇总:之前也用过redis,当时是用来存储一些热数据,量也不大,但是操作很频繁。现在项目中用的是MongoDB,目前是百万级的数据,将来会有千万级、亿级。就Redis和MongoDB来说,大家一般称之为Redis缓存、...

2019-05-13 14:26:48

Redis发布订阅机制在PHP中的运用

先启动订阅者sub.php,使其处于阻塞运行等待的状态然后执行发布者pub.php,向订阅了该频道的订阅者推送消息#subscribe客服端 sub.php$redis = new \Redis();$res = $redis->pconnect('192.168.6.33', 6379);$key = 'first';#这里的subscribe是一个独占链接的,你在终端...

2019-05-13 10:28:54

面试中经常考到的MySQL题有哪些呢?

1. 如何设计一个高并发的系统① 数据库的优化,包括合理的事务隔离级别、SQL语句优化、索引的优化② 使用缓存,尽量减少数据库 IO③ 分布式数据库、分布式缓存④ 服务器的负载均衡2. 锁的优化策略① 读写分离② 分段加锁③ 减少锁持有的时间④ 多个线程尽量以相同的顺序去获取资源等等,这些都不是绝对原则,都要根据情况,比如不能将锁的粒度过于细化,不然可...

2019-05-07 17:59:33

PHP使用Redis实现分布式锁

一、分布式锁的作用: redis写入时不带锁定功能,为防止多个进程同时进行一个操作,出现意想不到的结果,so...对缓存进行插入更新操作时自定义加锁功能。二、Redis的NX后缀命令  Redis有一系列的命令,其特点是以NX结尾,NX的意思可以理解为 NOT EXISTS(不存在),SETNX命令 (SET IF NOT EXISTS) 可以理解为如果不存在则插入,Red...

2019-05-07 16:57:34

MySQL4种外键约束方式总结

如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表。外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松。这里以MySQL例,总结一下4种外键约束方式的区别和联系。(主表的主键和从表的外键字段类型必须一样)  这里以用户表和用户组表为例,这是一个典型的多对一关系,多个用户对应于一个...

2019-05-06 16:24:50

PHP使用swoole实现多线程爬虫

在swoole中,php可以借助其启动子进程的方式,实现php的多进程:<?php$s_time = time();echo '开始时间:'.date('H:i:s',$s_time).PHP_EOL;//进程数$work_number=6;//$worker=[];//模拟地址$curl=[ 'https://blog.csdn.net/feiwutudo...

2019-05-05 14:32:58

Web性能压力测试之Webbench使用详解

Webbench是知名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发。Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,J...

2019-04-30 14:31:11

PHP利用Mysql锁解决高并发的方法

利用Mysql的锁来解决高并发的问题先看没有利用事务的时候并发的后果创建库存管理表 1 2 3 4 5 CREATE TABLE `storage` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `number` int(11) DEFAULT NULL,...

2019-04-30 14:27:17

PHP四种基础算法详解

许多人都说 算法是程序的核心,一个程序的好于差,关键是这个程序算法的优劣。作为一个初级phper,虽然很少接触到算法方面的东西 。但是对于冒泡排序,插入排序,选择排序,快速排序四种基本算法,我想还是要掌握的。需求:分别用 冒泡排序法,快速排序法,选择排序法,插入排序法将下面数组中 的值按照从小到的顺序进行排序。$arr=array(11,3,56,62,21,66,32,78,3...

2019-04-24 16:29:00

MySQL优化相关

本文概要概述为什么要优化系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比如何优化设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负载均衡、读写分离 SQL语句的优化(收效甚微)字段设计...

2019-04-15 13:56:17

PHP的代码优化

1:单引号代替双引号,双引号会去找变量。2:方法定义为static,性能提升4倍。3:$arr['id']的性能是$arr[id]的7倍。4:echo性能快,尽量使用echo $a,$b,$c而非echo $a.$b.$c。5:循环之前确定循环次数,尽量用foreach。6:注销不使用的变量,节省内存。7:尽量不使用魔法函数:__get、__set等。8:require_once()...

2019-04-15 13:48:27

Centos7编译安装Swoole失败

1.更新gcc至最高版本即可2.安装对应版本的php-devel (比如php7.1 :php71w-devel)

2019-04-10 14:15:16

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。