高性能WEB开发
August 18, 2019

PHP支持原生注解

PHP支持原生注解我们都知道,在PHP里面是不支持原生注解的,导致很多人使用 PHPDOC 来进行第三方支持,但是个人总是感觉怪怪的,所以特意在PHP语法分析层面支持了注解,这样能够保证百分百的原汁原味,从而体验更加完善的注解功能原理通过修改PHP的语法分析文件和词法分析文件,来增加 注解 功能支持, 并且由底层的引擎来完成代码,可以完全没必要设置注解的目录等来达到注解的扫描解析,也就是说如...
July 25, 2019

MySQL binlog协议之建立从库流程

MySQL binlog 协议什么是 MySQL binlog 协议?其实 MySQL binlog协议 就是作用于 MySQL主库与从库之间同步数据的一套规范。任何实现了这套机制的服务端都可以同 MySQL Master主库进行数据同步,下面我们来一起瞧瞧这一套协议规范。MySQL binlog协议流程这里我们不介绍 MySQL客户端和服务端之间的通信协议哦,只介绍binlog这块,如果后...
July 24, 2019

MySQL的协议包之 MySQL Packets

什么是 MySQL Packets?MySQL Packets 是 MySQL 客户端和服务端进行通信的数据包,只有了解了其数据包的格式,才能真正的做到与 MySQL 服务器进行通信MySQL数据包的组成类型名字描述int<3>payload_length数据包头大小int<1>sequence_id数据包的序号string<var>payload实际的数...
July 24, 2019

MySQL通讯协议-数据类型

之所以写这一一系列的博客介绍MySQL的协议,是因为目前接触了这块,打算记录下来,以备不时之需MySQL协议的数据类型其实在MySQL的协议里面你会到处看到一些数据类型的时候看到一些如下所示的代名词:int<1> 、int<3>等等,那么这些是什么含义勒?其实在MySQL协议里面只有两种类型:一种是int<x> 或者是 string<x>,所以...
July 19, 2019

FASTXML 高性能的XML解析库

fastxml 纯C语言编写的XML解析库什么是fastxml?fastxml是一款支持XML解析的多根节点的解析引擎,支持特性如下:支持多根 XML,一个 XML 文档支持多个 ROOT 标记,如下包含information 和 list:<?xml version="1.0" encoding="UTF-8"?> <informa...
July 19, 2019

cknit秒级定时工具

cknitcknit 是一款开源高可用定时多任务管理工具,定时精度为秒级别 ( 相比cron增加了秒的取值 ),能够确保高效、稳定的处理多任务。定时精度随任务量的变化如下所示:任务数量定时精度偏差10000.01s1000001s支持平台目前支持 Linux、mac 两大平台,mac 平台使用 select 系统调用,Linux平台使用 Posix (timer),因此 Linux 平台性能...
July 19, 2019

Exjson高性能的JSON解析库

什么是 Exjson?Exjson是一款高性能的基于Bison & Flex 的JSON解析器,相比JSON而言,增加了几个特性,如下所示支持注释,Exjson中注释使用 # 或者 // 开头支持如下特殊符号,null、false、true、on、off特殊符号含义解析结果是否支持反序列化true布尔值:真整型值 1支持false布尔值:假整型值 0支持on开启整型值 1不支持off关闭整型...

Exserver高性能的服务器软件

Exserver —— 高性能的纯C开发的基于多进程、事件机制的高性能服务器软件什么是Exserver ?完全由本人独立开发完成,代码结构清晰并且完全开源;解决了粘包等问题,在Linux平台采用 epoll 机制、在BSD系统采用 kqueue 机制;采用多进程模型以提供高可靠性Exserver支持的平台Linux (epoll机制)BSD (kqueue机制)示例在 conf 目录配置好服...
February 14, 2019

HTML5时代的Web缓存机制

HTML5时代的Web缓存机制随着现代浏览器的推动,Flash放弃对移动端的支持,HTML5无疑成为当前Web前端炙手可热的话题。各大游戏开发商、App开发商纷纷投入人力进行研究和技术储备。相信不久的将来,HTML5会迎来一个快速发展和普及的春天。那么,HTML5这个新一代的标准,又给我们带来哪些缓存机制呢?HTML5 之离线应用Manifest我们知道,使用传统的技术,就算是对站点的资源都...
February 14, 2019

如何构建可缓存站点

如何构建可缓存站点同一个资源保证URL的稳定性URL是浏览器缓存机制的基础,所以如果一个资源需要在多个地方被引用,尽量保证URL是固定的。同时,比较推荐使用公共类库,比如Google Ajax Library等,有利于最大限度使用缓存给css、js、图片等资源增加HTTP缓存头,并强制入口html不被缓存对于不经常修改的静态资源,比如css,js,图片等,可以设置一个较长的过期的时间,或者至...