- 博客(25)
- 收藏
- 关注
转载 Yii2 输出xml格式数据的方法
php中对xml的处理,虽然说实际开发中目前用的少了,但是难免会用到,用到的时候呢,总结起来还是稍稍有那么一丁点的麻烦。 我们来看看yii2中是怎么对xml进行处理的。会超乎你想象的简单哦。 我们以输出xml格式的数据为例。 既然是输出,必然就涉及到web请求与响应了,不熟悉的可以先去了解下HTTP协议。 yii2中支持以下几种返回格式,均可自定义配置。 HTML: implemented
2017-03-15 08:36:31 1260
转载 PHP开启opcache方法
说明PHP 5.5+版本以上的,可以使用PHP自带的opcache开启性能加速(默认是关闭的)。对于PHP 5.5以下版本的,需要使用APC加速,这里不说明,可以自行上网搜索PHP APC加速的方法。 PHP开启opcache方法1、打开php.ini文件2、找到:[opcache],设置为:[opcache]; dll地址zend_extension=php_opcache.dll
2017-03-14 14:18:44 428
转载 深入理解PHP内存管理之谁动了我的内存
首先让我们看一个问题: 如下代码的输出,var_dump(memory_get_usage());$a = "laruence";var_dump(memory_get_usage());unset($a);var_dump(memory_get_usage());输出(在我的个人电脑上, 可能会因为系统,PHP版本,载入的扩展不同而不同): int(90440) ...
2017-03-10 10:42:27 219
原创 PHP数组实现栈和队列:push,pop,shif,unshift
尽管在PHP中允许直接访问某个数组单元,但PHP仍提供了各种有趣的方式来处理数组。特别要说的是,某些函数使PHP数组非常容易的实现了一个栈或队列。array_pop这个array_pop函数会删除并返回数组的最后一个元素。 在下面的这个例子中,你将会看到在给定一个数组的3个元素中,如何删除最后一个元素的值(索引最大的元素)并返回这个值。$stack = array("orange", "banan
2017-03-10 09:01:52 4691
转载 NULL 值与索引
NULL值是关系数据库系统布尔型(true,false,unknown)中比较特殊类型的一种值,通常称为UNKNOWN或空值,即是未知的,不确定的。由于NULL存在着无数的可能,因此NULL值也不等于NULL值,所以与NULL值相关的操作同样都为NULL值。正是基于这样一个特性,对于NULL值列上的B树索引导致了is null/is not null不走索引的情形,下面描述了NULL值与索引以及索引
2017-03-09 08:31:26 469
转载 swoole_server中内存管理机制
swoole_server启动后内存管理的底层原理与普通php-cli程序一致。具体请参考Zend VM内存管理方面的文章。 局部变量 在事件回调函数返回后,所有局部对象和变量会全部回收,不需要unset。如果变量是一个资源类型,那么对应的资源也会被PHP底层释放。function test(){ $a = new Object; $b = fopen('/data/t.log
2017-03-08 09:19:10 1503
转载 JavaScript定时器解密
在单线程JavaScript这篇文章中,在介绍JavaScript单线程的同时,也介绍了setTimeout是如何工作的。但是对于定时器的一些内容,并没有做深入的讨论。这篇文章,会详细说说JS的两种定时器,setTimeout和setInterval,以及它们的工作方式。同时,会谈谈有关setTimeout的面试题。setIntervalsetInterval,也称为间歇调用定时器,是指允许设置
2017-03-08 09:03:56 490
转载 unset注意细节
(PHP 4, PHP 5, PHP 7) unset — 释放给定的变量说明 ¶ void unset ( mixed var[,mixedvar [, mixed … ] )unset() 销毁指定的变量。unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset()
2017-03-07 17:29:11 1359
转载 SWOOLE编程细节知识
注意事项不要在代码中执行sleep以及其他睡眠函数,这样会导致整个进程阻塞 exit/die是危险的,会导致worker进程退出 可通过register_shutdown_function来捕获致命错误,在进程异常退出时做一些请求工作,具体参看/wiki/page/305.html PHP代码中如果有异常抛出,必须在回调函数中进行try/catch捕获异常,否则会导致工作进程退出 sw...
2017-03-07 15:59:05 626
转载 关于静态方法与非静态方法的执行效率
以前看到许多网友认为静态方法要比实例方法在执行效率上要快一些,当初不敢苟同。自己亲自试了一把,发现静态方法确实要快一些。 想要比较静态方法与非静态方法的执行效率,需要对CLR在调用静态方法与非静态方法时的不同之处要有一个了解。 静态方法是与类相关联的,CLR在调用一个静态方法时需要做的事情就是找到定义该方法的类型即可实现调用;而在调用非静态方法时,为了保证运行安全,CLR会对我们的源代码进行
2017-03-07 10:47:59 787
转载 PHP函数的实现原理及性能分析
转载出处:http://www.cnblogs.com/ghj1976/archive/2010/08/27/1809766.html前言在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序。同时也会对一些常见的ph
2017-03-07 10:26:05 407
转载 redis数据结构HyperLogLog
如果我们要实现记录网站每天访问的独立IP数量这样的一个功能集合实现:使用集合来储存每个访客的 IP ,通过集合性质(集合中的每个元素都各不相同)来得到多个独立 IP ,然后通过调用 SCARD 命令来得出独立 IP 的数量。举个例子,程序可以使用以下代码来记录 2014 年 8 月 15 日,每个网站访客的 IP :ip = get_vistor_ip()SADD ‘2014.8.15::uniqu
2017-03-07 09:45:51 274
原创 关于缓存穿透、缓存并发、缓存失效的解决方案
一、缓存穿透我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。 这个问题其实经常遇到,只是没有引起足够的重视,在我想来,如果碰到这样的问题可以在封装的缓存SET和GET部分增加个步骤,
2017-03-07 09:04:25 218
原创 php---魔术方法(__wakeup和__sleep)
先写一段代码 class myClass{ public $myContent; function outMycontent(){ //dosomething }}$content = new myClass();echo serialize($content); 输出的结果是O:7:”myClass”:1:{s:9:”myContent”
2017-03-06 19:49:58 2269
转载 Redis管道(pipeline)
Redis是一个cs模式的tcp server,使用和http类似的请求响应协议。一个client可以通过一个socket连接发起多个请求命令。每个请求命令发出后client通常会阻塞并等待redis服务处理,redis处理完后请求命令后会将结果通过响应报文返回给client。基本的通信过程如下:Client: INCR XServer: 1Client: INCR XServer: 2Cl
2017-03-06 19:44:39 432
转载 Paxos算法细节详解(一)--通过现实世界描述算法
最近研究paxos算法,看了许多相关的文章,概念还是很模糊,觉得还是没有掌握paxos算法的精髓,所以花了3天时间分析了libpaxos3的所有代码,此代码可以从https://bitbucket.org/sciascid/libpaxos 下载。对paxos算法有初步了解之后,再看此文的效果会更好;如果你也想分析libpaxos3的话,此文应该会对你有不小帮助;关于paxos的历史这里不多做介绍,
2017-03-06 19:12:51 169
转载 一致性hash算法: cache、负载均衡应用
From http://blog.csdn.NET/yq76034150/article/details/6776044现在的网站用户量都很大,一台服务器包打天下的时代一去不复返了,多台服务器就存在一个问题,如何将访问用户转向不同的服务器,并且各个服务器接受的请求数大致相当呢?这就是一致性hash算法要解决的问题。一致性hash算法在负载服务器(ngnix、haproxy等)、K/V 缓存系统me
2017-03-06 14:03:56 635
转载 基于redis分布式缓存实现
在网上找了些redis搭建集群的资料,分享给大家,可以仔细看看,了解redis主从复制的逻辑,以及如何构建redis集群。 Redis复制流程概述Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Red
2017-03-06 10:19:38 484
转载 CAP原理和BASE思想
分布式领域CAP理论 Consistency(一致性), 数据一致更新,所有数据变动都是同步的 Availability(可用性), 好的响应性能 Partition tolerance(分区容错性) 可靠性定理:任何分布式系统只可同时满足二点,没法三者兼顾。 忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。关系数据库的ACID模型拥有 高一致性 + 可用性
2017-03-06 08:31:48 198
转载 异步网页采集利器CasperJs
在采集网页中,我们会经常遇到采集一些异步加载页面的网页,我们通常用的httpwebrequest类就采集不到了,这个时候我们通常会采用webbrowser来辅助采集,但是.net下自带的webbrowser用起来非常不爽,在获取页面是否加载完毕的时候比较麻烦一些, DocumentCompleted事件遇到Iframe重复触发,而且获取到的源码通常也不是异步加载完之后的源码,往往我们需要加上定时器去
2017-03-05 12:42:52 1048
转载 casperjs使用说明-使用命令行
Casperjs使用内置的phantomjs命令行解析器,在cli模块里,它传递参数位置的命名选项 但是不要担心不能熟练操控CLI模块的API,一个casper实例已经包含了cli属性,允许你很容易的使用他的参数让我们来看这个简单的casper脚本:var casper = require("casper").create();casper.echo("Casper CLI passed
2017-03-05 12:29:32 1764
原创 什么是php的性状(Trait)
很多PHP开发朋友都没有弄清楚Trait(性状)。这是PHP5.4.0引入的新概念,既像类又像接口。性状是类的补分实现(即常量、属性、方法),可以混入一个或者多个现有的PHP类中。 性状有两个作用:表明类可以做什么(像是接口);提供模块化实现(像是类)。 PHP使用一种典型的继承模型,在这种模型中,我们先编写一个通用的根类,实现基本功能,然后扩展这个根类,创建更具体的类,从直接父类继承实现。这
2017-03-05 12:10:45 586
转载 利用NuSoap开发WebService(PHP)
NuSoap是PHP环境下的WebService编程工具,用于创建或调用WebService,是一个开源软件。它完全采用PHP语言编写、通过HTTP收发SOAP消息的一系列PHP类,由NuSphere Corporation(http://www.nusphere.com/)开发。 它的优势是不需要扩展库的支持,这种特性使它可用于所有的PHP环境,不受服务器安全设置的影响。1.首先,去http:/
2017-03-01 17:47:41 699
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人