自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(131)
  • 资源 (1)
  • 收藏
  • 关注

转载 PHP系统编程--01.多进程与多线程

PHP中提供了一个扩展pcntl,可以利用操作系统的fork调用来实现多进程。fork调用后执行的代码将是并行的。PHP官方没有提供多线程的扩展,pecl中有一个pthreads扩展提供了多线程的特性,地址是http://pecl.php.net/package/pthreads,此扩展仅在线程安全版本中可用。多进程使用多进程, 子进程结束以后, 内核会负责回收资源使用多进程, 子

2017-09-30 15:00:27 193

转载 PHP常用算法和数据结构示例(必看篇)

实例如下:?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748

2017-09-30 14:55:18 567

转载 php常用的四种排序算法

纯当练习,高手请绕过。以一维数组为例。1.插入排序思想:每次将一个待排序的数据元素插入到前面已经排好序的数列中,使数列依然有序,知道待排序数据元素全部插入完为止。示例:[初始关键字] [49] 38 65 97 76 13 27 49J=2(38) [38 49] 65 97 76 13 27 49J=3(65) [38 49 65] 97 76 13 27 49J

2017-09-30 14:48:04 255

转载 数据结构 (计算机存储、组织数据方式)

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。[1] 中文名数据结构解    释计算机存储、组织数据的方式具体指向特定关系的数据元素的集合有    关检索算法和索引技术目录1定义▪名词定义▪其它

2017-09-30 14:43:32 840

转载 最全的数据结构解析与归纳

本文对常用的数据结构:Array, ArrayList,List,IList,ICollection, Stack, Queue, HashTable, Dictionary, IQueryable, IEnumerable等进行详述。一、Collection(集合)Collection是数据记录集合,编写代码过程中,常常需要合适的容器保存临时数据,方便修改和查找,如何选取合适的数

2017-09-30 14:41:11 229

转载 PHP生成日历(实例详解)

《PHP典型模块与项目实战大全》第9章日程表模块(PHP+AJAX+XML),本章通过课程表模块的实现将AJAX技术介绍给读者,读者可以通过本章了解到AJAX的基本原理、PHP与AJAX是如何交互的,以及通过数据库驱动的AJAX。本节为大家介绍PHP生成的日历。AD:9.4  日历程序设计日程表的前端程序的核心是,通过PHP脚本生成一个当前日期的日历表格,再通过遍历数据中的消息

2017-09-30 13:54:00 7420

转载 总结PHP中DateTime的常用方法

本文对DateTime对象使用的方法进行了一些整理,方便大家查找和翻阅,有需要的可以参考学习。前言实例化对象前面加\表示的是,在命名空间中使用原生的类,如果没有使用命名空间的话,可以把前面的\给删除掉1. 输出当前时间?12$datetime= new \DateTime;print_r($datetime->fo

2017-09-30 10:38:11 233

转载 Redis 数据同步机制分析

Redis的主从同步机制可以确保redis的master和slave之间的数据同步。按照同步内容的多少可以分为全同步和部分同步;按照同步的时机可以分为slave刚启动时的初始化同步和正常运行过程中的数据修改同步;本文将对这两种机制的流程进行分析。全备份过程中,在slave启动时,会向其master发送一条SYNC消息,master收到slave的这条消息之后,将可能启动后台进程进行备份,备份完

2017-09-30 09:09:37 259

转载 PHP内核探索:新垃圾回收机制说明

在5.2及更早版本的PHP中,没有专门的垃圾回收器GC(Garbage Collection),引擎在判断一个变量空间是否能够被释放的时候是依据这个变量的zval的refcount的值,如果refcount为0,那么变量的空间可以被释放,否则就不释放,这是一种非常简单的GC实现。然而在这种简单的GC实现方案中,出现了意想不到的变量内存泄漏情况(Bug:http://bugs.php.net/bug

2017-09-30 09:08:25 235

转载 详谈PHP垃圾回收机制

引用计数基本知识每个php变量存在一个叫"zval"的变量容器中。一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。通过这个字节,php引擎才能把普通变量和引用变量区分开来,由于php允许用户通过使用&来使用自定义引用,zval变量容器中还有一个内部引用计数机制,来

2017-09-30 09:05:53 224

转载 PHP垃圾回收深入理解

PHP是一门托管型语言,在PHP编程中程序员不需要手工处理内存资源的分配与释放(使用C编写PHP或Zend扩展除外),这就意味着PHP本身实现了垃圾回收机制(Garbage Collection)。现在如果去PHP官方网站(php.net)可以看到,目前PHP5的两个分支版本PHP5.2和PHP5.3是分别更新的,这是因为许多项目仍然使用5.2版本的PHP,而5.3版本对5.2并不是完全兼容。PH

2017-09-29 16:50:09 205

转载 [置顶] PHP内核探索之变量(7)- 不平凡的字符串

切,一个字符串有什么好研究的。别这么说,看过《平凡的世界》么,平凡的字符串也可以有不平凡的故事。试看:(1)       在C语言中,strlen计算字符串的时间复杂度是?PHP中呢?(2)       在PHP中,怎样处理多字节字符串?PHP对unicode的支持如何?同样是字符串,为什么c语言与C++/PHP/Java的均不相同?数据结构决定算法,这句话一点不假。那么我

2017-09-29 15:59:57 245

转载 PHP内核探索之变量(4)- 数组操作

上一节(PHP内核探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列-数组操作的相关函数做进一步的跟踪。本文主要内容:PHP中提供的数组操作函数数组操作函数的实现结语参考文献一、PHP中提供的数组操作函数可以说,数组是PHP中使用最广泛的数据结构之一,正因如此,PHP为开发者提供

2017-09-29 15:46:24 270

转载 php7-internal 7.7 zval的操作

扩展中经常会用到各种类型的zval,PHP提供了很多宏用于不同类型zval的操作,尽管我们也可以自己操作zval,但这并不是一个好习惯,因为zval有很多其它用途的标识,如果自己去管理这些值将是非常繁琐的一件事,所以我们应该使用PHP提供的这些宏来操作用到的zval。7.7.1 新生成各类型zvalPHP7将变量的引用计数转移到了具体的value上,所以zval更多的是作为统一的传输格式,

2017-09-29 15:37:21 1242

转载 php数组源码分析

PHP中经常使用数组,使用数组最大的好处便是速度!读写都可以在O(1)内完成,因为它每个元素的大小都是一致的,只要知道下标,便可以瞬间计算出其对应的元素在内存中的位置,从而直接取出或者写入。那么内核中是如何实现的呢?PHP大部分功能,都是通过HashTable来实现,其中就包括数组。HashTable即具有双向链表的优点,同时具有能与数据匹敌的操作性能。PHP中的定义的变量保存在一个符号表

2017-09-29 15:30:34 907

转载 PHP源码分析-数组

2.2 数组数组是PHP中非常强大、灵活的一种数据类型,它的底层实现为散列表(HashTable,也称作:哈希表),除了我们熟悉的PHP用户空间的Array类型之外,内核中也随处用到散列表,比如函数、类、常量、已include文件的索引表、全局符号表等都用的HashTable存储。散列表是根据关键码值(Key value)而直接进行访问的数据结构,它的key - value之间存在一个

2017-09-29 15:28:49 311

转载 Linux curl命令详解

命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。语法:# curl [option] [url]常见参数:-A/--user-agent 设置用户代理发送给服务器-b/--cooki

2017-09-29 14:42:54 217

转载 浅析三种特殊进程:孤儿进程,僵尸进程和守护进程

其实有时想想linux内核的设计也蕴含着很多人生哲学,在linux中有这么几个特殊进程中,我们一开始见到它们的名字可能还会觉得很诧异,但在了解完了原理后,我们仔细想想,这样的命名也不无道理!下面我就给大家分别介绍一下这三种特殊的进程!  1.孤儿进程  如果父进程先退出,子进程还没退出那么子进程将被 托孤给init进程,这是子进程的父进程就是init进程(1号进程).其实还是很好理解的.

2017-09-29 11:12:56 262

转载 守护进程和僵尸进程

守护进程  在linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。  守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。  守护进程,也就

2017-09-29 11:11:49 263

转载 一看就懂系列之 如何实现与控制php常驻进程

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]前言关于如何实现与控制php常驻进程,不管是google还是baidu上进行搜索,都没有感觉看起来赏心悦目的解答,于是决定自己动手总结下。有同学会问了,整这个干甚?简单的说就是,可以让一个php脚本一直处于运行的状态。从而实现将项目中某些耗时操作异步化,进队列后由php脚本取出再执行。有同学

2017-09-29 11:03:01 1430

转载 Nginx深入详解之upstream分配方式

一、分配方式        Nginx的upstream支持5种分配方式,下面将会详细介绍,其中,前三种为Nginx原生支持的分配方式,后两种为第三方支持的分配方式:1、轮询                 轮询是upstream的默认分配方式,即每个请求按照时间顺序轮流分配到不同的后端服务器,如果某个后端服务器down掉后,能自动剔除。        upstream backe

2017-09-29 10:38:38 274

转载 Web性能优化与Http2

如今,互联网上的内容越来越丰富,过去几年时间,一个页面产生请求和整个大小都一直增长,这个趋势还会一直保持,对页面性能优化也要马不停蹄。一个页面,会经历过加载资源,执行脚本,渲染界面的过程。我们知道,100ms对于计算机来说,可以干很多事情了,但是对于网络请求,可能一次RTT就没了。因此,页面加载对于Web性能是重中之重。加载的快慢可以总结成受两个因素影响:阻塞与延迟。1

2017-09-28 09:04:26 568

转载 Web项目性能优化之减少HTTP请求次数优化

作为项目经理的我,在近两个月内,时常被客户抱怨,我们的Web程序性能太差,经常宕机,即使服务器的配置再好,在业务请求量大的情况下也比较容易出现系统繁忙,线程堵塞,最后Web容器的HTTP线程池被慢慢耗尽而出现宕机问题,无法对外提供服务。         于是在多方压力下,与同事连续苦战,顶着压力,发现一些严重影响Web系统性能的问题:前台频繁与后台交互数据,且交互的数据约为500KB的数据,客

2017-09-28 09:03:08 788

转载 WebService的两种方式Soap和Rest比较

我的读后感:由于第一次接触WebService,对于很多概念不太理解,尤其是看到各个OpenAPI的不同提供方式时,更加疑惑。如google map api采用了AJAX方式,通过javascript提供API,而淘宝TOP则采用直接的HTTP+XML请求方式,最令我疑惑的是教材上讲的WSDL,UDDI从没有在这些API中出现过。现在知道了WebService原来有两种方式,一是SOAP协议方式,

2017-09-27 23:27:38 206

转载 请写一段 PHP 代码 ,确保多个进程同时写入同一个文件成功

方案一:function writeData($filepath, $data) { $fp = fopen($filepath,'a'); do{ usleep(100); }while (!flock($fp, LOCK_EX)); $res = fwrite($fp, $data."\n"); fl

2017-09-27 15:52:26 534

转载 PHP 实现多网站共享用户SESSION 数据解决方案

查了一些资料,看了一些别人写的文档,总结如下,实现nginx session的共享PHP服务器有多台,用nginx做负载均衡,这样同一个IP访问同一个页面会被分配到不同的服务器上,如果session不同步的话,就会出现很多问题,比如说最常见的登录状态,下面提供了几种方式来解决session共享的问题:1、不使用session,换用cookiesession是存放在服务器端的

2017-09-27 15:46:58 224

转载 如何在多台web服务器上共享session?

比如:现在有三台php服务器,且实现了负载均衡,如何让这三台web服务器共享session数据?session数据默认是以文件的形式保存在web服务器的磁盘上,一般都是用户登录成功的时候,保存session数据。同一个用户登录后,就会将session保存在某个web服务器上,假设是保存在服务器A上,该用户访问网站的其他页面时,可能请求的就是服务器B或服务器C,但服务器B或服务器C上并没有该

2017-09-27 15:42:39 303

转载 PHP中设置一个严格30分钟过期Session面试题的4种答案

今天在我的微博上发出一个问题:我在面试的时候, 经常会问一个问题: “如何设置一个30分钟过期的Session?”, 大家不要觉得看似简单, 这里面包含的知识挺多, 特别适合考察基本功是否扎实, 谁来回答试试? 呵呵为什么问这个问题呢?1.我在stackoverflow上看到了有人讨论这个问题2.想起来我经常问这个问题, 所以~~在这里, 我来解答下这个题目.

2017-09-27 15:26:16 2081

转载 PHP SPL使用方法和他的威力

什么是SPL,如何使用,他有什么作用,下面我我们就讲讲PHP SPL的用法SPL,PHP 标准库(Standard PHP Library) ,此从 PHP 5.0 起内置的组件和接口,并且从 PHP5.3 已逐渐的成熟。SPL 其实在所有的 PHP5 开发环境中被内置,同时无需任何设置。似乎众多的 PHP 开发人员基本没有使用它,甚至闻所未闻。究其原因,可以追述到它那阳春白雪

2017-09-27 14:34:54 1264

转载 有用过PHP SPL的吗,不知道这主要用来干嘛

SPL为PHP标准库。内容主要包括数据结构类,迭代器,异常类,SPL函数,还有一些接口。数据结构类主要包括栈,队,堆,数组等基本数据结构,php已经帮你封装好了,如果你要做数据处理可以直接拿来用,很方便。迭代器是php在的新特征,在oop中使用很灵活,比如可以用来遍历对象数组。异常类主要是把一些常见异常封装起来了,做成了接口,通俗将就是有个模版格式,你照着他的要求扩展即可。SPL函

2017-09-27 14:33:53 579

转载 PHP Reflection API详解

来源:http://www.jb51.net/article/65897.htm

2017-09-27 14:28:35 176

转载 PHP SOCKET编程详解

这篇文章主要介绍了PHP SOCKET编程详解,需要的朋友可以参考下1. 预备知识一直以来很少看到有多少人使用php的socket模块来做一些事情,大概大家都把它定位在脚本语言的范畴内吧,但是其实php的socket模块可以做很多事情,包括做ftplist,http post提交,smtp提交,组包并进行特殊报文的交互(如smpp协议),whois查询。这些都是比较常见的查询。

2017-09-27 14:25:23 164

转载 深入浅出讲解:php的socket通信

对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1.         什么是TCP/IP、UDP?2.         Socket在哪里呢?3.         Socket是什么呢?4.         你会使用它们吗?什么是TCP/IP、UDP?         TCP/IP(Trans

2017-09-27 14:18:21 133

转载 PHP扩展CURL的用法详解

CURL是利用URL语法爱命令行方式下工作的文件传输工具。它支持很多协议。它支持认证功能。php中常用都实现更复杂的传输功能。实现的功能:1、实现远程获取和采集内容2、实现PHP 网页版的FTP上传下载3、实现模拟登陆:去一个邮件系统,curl可以模拟cookies4、实现接口对接(API),数据传输等:通过一个平台发送短信啊,抓取和传递所传输的信息

2017-09-27 11:19:01 242

转载 中国程序员如何升职加薪,也许我们该学学印度人

近几年越来越多的印度人在美国硅谷占据要职,其中比较著名的有谷歌 CEO 桑德.皮查伊,微软 CEO 萨蒂亚.纳德拉,Adobe CEO 山塔努.纳拉延。谷歌 CEO 桑德.皮查伊反观硅谷的华裔,虽然在数量上与印度裔相近,却不像印度人那样大量占据企业的中高层。你可以说因为印度人英语比较好,虽然他们说英语普遍有口音(想想《生活大爆炸》里的可爱的拉杰什),但是

2017-09-26 16:05:13 257

转载 elasticsearch 索引存储深入详解

1、关于ES index存储在内存的问题?(1)早期ES1.X版本对ES索引存储介绍:原文地址: https://www.elastic.co/guide/en/elasticsearch/reference/1.4/index-modules-store.html ES1.X存储模块可以控制索引数据的存储方式,索引可以存储在内存和磁盘上。使用内存方式可以得到更好的性能

2017-09-25 23:53:13 557

转载 Elasticsearch索引原理

最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 同时也希望有发现内容不正确或者有疑问的地方,望指明,一起探讨,学习,进步。介绍Elasticsearch 是一个分布式可扩展的实

2017-09-25 23:52:11 1149

转载 Elasticsearch 架构原理

为什么要学习架构?Elasticsearch的一些架构设计,对我们做性能调优、故障处理,具有非常重要的影响。下面将从Elasticsearch的准实时索引的实现、自动发现、rounting和replica的读写过程,shard的allocate控制使文本可以被搜索?在传统的数据库中,一个字段存一个值,但是这对于全文搜索是不足的。想要让文本中的而每个单词都可以被搜索,这意

2017-09-25 23:50:56 229

转载 shell获取ip的值

[root@iZ2zee01smz5y5cfifeox0Z shell]# cat ip.txt 192.168.1.20[root@iZ2zee01smz5y5cfifeox0Z shell]# cat ip.txt | cut -d \. -f 31[root@iZ2zee01smz5y5cfifeox0Z shell]# cat ip.txt | cut -d \. -f 2

2017-09-25 23:43:23 374

转载 Shell脚本实现简单分割字符串

这篇文章主要介绍了Shell脚本实现简单分割字符串,本文讲解使用CUT命令实现以逗号、分号或其它分隔符来切割字符串,需要的朋友可以参考下我们有这样一个字符串:复制代码代码如下:info='abcd;efgh'现在想获取abcd和efgh,我们可以简单地用cut工具来获取:复制代码代码如下:fstr=`echo $info |

2017-09-25 23:42:14 7035

php实用手册全攻略

内有Php常用函数,适合新手!这是一个比较全的使用手册,和大家分享一下。

2010-12-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除