`
aslijiasheng
  • 浏览: 56964 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表

异步IO之AIO

    博客分类:
  • aio
什么是AIO AIO:Asynchronous Input and Output,字面上讲就是异步的IO。说到异步IO,网络上的端口复用select、poll机制大家就很熟悉了,这个AIO到底是啥? AIO是Linux2.6中新加的特性,支持异步的IO
/** * udp收发包 * @param $ip * @param $port * @param $timeout * @return int 0-成功,非0-失败(具体参考类头部错误码常量定义) */ private function udpSocket($ip, $port, $timeout) { $time = microtime(true); $sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP); ...

设计模式

    博客分类:
  • php
Design Patterns There are numerous ways to structure the code and project for you web application, and you can put as much or as little thought as you like into architecting. But it is usually a good idea to follow common patterns because it will make your code easier to manage and easier for other ...

PHP反射机制

    博客分类:
  • php
反射是什么?它是指在PHP运行状态中,扩展分析PHP程序,导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。这种动态获取的信息以及动态调用对象的方法的功能称为反射API。 反射是操纵面向对象范型中元模型 ...

mysql set和enum记录

Definition of a ENUM or SET column does act as a constraint on values entered into the column. An error occurs for values that do not satisfy these conditions:An ENUM value must be one of those listed in the column definition, or the internal numeric equivalent thereof. The value cannot be the erro ...
有这样一个字符串$a="78965432";将其转化为$a[7][8][9][6][5][4][3][2]; 方法如下: 首先要将字符串分割 并转化成数组;再将数组写回字符串;最后传给数组KEY值; 代码如下: <?php require_once '../../cfg.php'; PC::debug("dd"); $old_arr = array(78965432); $new_arr = array(); foreach($old_arr as $val){ PC::info($val); PC ...
CI默认的rewrite url中是类似这样的,http://localhost:9090/ci/index.php/news; 这样写出的URL不太好看,并且也不友好,如何去掉这个INDEX.PHP呢? 1、首先先确定服务器用的是AP还是IIS,这里介绍AP的处理方法; 检查AP是否支持mod_rewrite,如果不支持,请打开HTTPD.CONF配置文件 找到下面这句话 LoadModule rewrite_module modules/mod_rewrite.so ,把该行前的#去掉; 搜索 ALLOWOVERRIDE NONE修改为ALL 2、在CI主目录的同级下,新建一 ...
  递归分为:不动点组合子,尾部递归还有递归数据,目前 我只研究到尾部递归    再了解递归前我们先了解一下什么是斐波那契数列? 所谓Fibonacci数列是指这样一种数列,它的前两项均为1,从第三项开始各项均为前两项之和。用数学公式表示出来就是:            1                            (n=1,2)

MySQL性能优化建议

        1. 为查询缓存优化你的查询  大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。  这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:
由 InnoDB 预设是 Row-Level Lock,所以只有「明确」的指定主键,MySQL 才会执行 Row lock (只锁住被选取的资料例) ,否则 MySQL 将会执行 Table Lock (将整个资料表单给锁住)。 举个例子: 假设有个表单 products ,裡面有 id 跟 name 二个栏位,id 是主键。 例1: (明确指定主键,并且有此笔资料,row lock)     SELECT * FROM products WHERE id='3' FOR UPDATE; 例2: (明确指定主键,若查无此笔资料,无 lock)     SELECT * FROM ...

正则 &preg_match

    博客分类:
  • php
<?php/*preg_match 可选,存储匹配结果的数组, $matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推  */$mode='/(^[\w\.\_]{2,6})@(\w{4,}).([a-z]{2,10})/';$email='matg@gmail.com';$matches = array(); if (preg_match($mode, $email,$matches)){echo '匹配字符串'; var_dump($matches);//array(4) { [0]=> strin ...
  一、索引的结构 关系型数据库中以二维表来表达关系模型,表中的数据以页的形式存储在磁盘上,在SQL SERVER中,数据页是磁盘上8k的连续空间,那么,一个表的所有数据页在磁盘上是如何组织的呢?分两种情况:一是数据页间无序、随机地存储在磁盘上,这样的表叫做堆表;二是数据页间按某个表字段的值有序地存储在磁盘上,这样的表做索引组织表。 索引是什么?从物理结构上可分为两种:聚集索引和非聚集索引。将表中的数据有序地组织起来的索引称为聚集索引,一个表只有一个聚集索引,表上其他的索引都是非聚集索引。 1.1、聚集索引结构 (1)聚集索引将表内的数据进行有序的组织, ...
一:MySQL中使用DECLARE关键字来声明游标。其语法的基本形式如下:DECLARE cursor_name CURSOR FOR select_statement ; 其中,cursor_name参数表示游标的名称;select_statement参数表示SELECT语句的内容。【示例14-8】 下面声明一个名为cur_employee的游标。代码如下:DECLARE cur_employee CURSOR FOR SELECT name, age FROM employee ;上面的示例中,游标的名称为cur_employee;SELECT语句部分是从employee表中查询出name ...
PHP5是一具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性,但是有部分概念也比较绕人,所以今天拿出来说说,说的不好,请高手见谅. (阅读本文,需要了解PHP5的面向对象的知识) 首 先我们来理解三个关键字: this,self,parent,从字面上比较好理解,是指这,自己,父亲,呵呵,比较好玩了,我们先建立几个概念,这三个关键字分别是用在什么地方 呢?我们初步解释一下,this是指向当前对象的指针(我们姑且用C里面的指针来看吧),self是指向当前类的指针,parent是指向父类的指针。 这么说还不能很了解,那我们就根据实际的例子结合来讲讲。(1) this< ...

php AES128位加密

    博客分类:
  • php
借用aes.php 128位加密方式 aes.php <?PHP /* * @filename: AES.php * @note: In version 4 of PHP, the function "__construct" is not executed, and it doesn't approve the private key words. */ class AES{ var $rcon = array ( 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x3 ...
Global site tag (gtag.js) - Google Analytics