memcached全面剖析
memcached介绍
如今,越来越多的Web应用程序开始使用memcached这个高速的缓存服务器软件。然而,memcached的基础知识远远未能像其他Web技术那样普及,memcached在国内的大规模应用也鲜为人知。而日本的mixi(mixi.jp)则在这方面走在了前面,不仅大规模使用memcached作为缓
存来加速Web应用,而且自行开发了Tokyo Cabinit、Tokyo Tyrant等一系列相关的软件。
这是由 mixi 株式会社 开发部系统运营组的两位工程师野雅广、前坂徹所写,日常负责程序的运营。本文将针对最近在Web应用的可扩展性领域的热门话题memcached,说明其内部结构和使用。这篇连载语言简洁、通俗易懂,非常适合memcached入门的人阅读。
MooPHP beta版本更新小计
下面的内容是MooPHP 0.94.375 beta之后的下个beta版本的部分更新记录,确切的说,是凌晨至现在的更新小计:
MooPHP现有cache缓存、block缓存、template缓存,今天新增html缓存体系,主体函数为核心文件MooPHP.php中的MooHtmlCache函数。
一直以来,当MooPHP的template缓存不存在的时候,直接抛出PHP错误信息,极不友好,现更新优化MooTemplate模板缓存文件不可写入的错误提示。
现MooPHP四种缓存体系下的缓存均自动创建相应的文件夹,想怎么删就就怎么删。这点是在下面的递归创建目录函数基础上实现。
新增递归创建目录的MooMakeDir函数。请看函数原型是否极度简洁。
* PHP下递归创建目录的函数,使用示例MooMakeDir('D:\web/a/b');
* @param string $dir - 需要创建的目录路径,可以是绝对路径或者相对路径
* @return boolean 返回是否写入成功
*/
function MooMakeDir($dir) {
return is_dir($dir) or (MooMakeDir(dirname($dir)) and mkdir($dir, 0777));
}
2008年09月10日更新:增加模板引擎对多级目录的支持。
PS:本文将会持续更新,直到下个版本的MooPHP beta版本发布。
Nginx下Discuz!的Rewrite
在上篇《Nginx的Rewrite配置》之后,有不少朋友搜索过来询问相关的设置,于是整理了下,发出来给大家共享。
突然间发现自己写的几篇日志都是关于Nginx的
Rewrite配置,感兴趣的同学可以查看下。
Discuz!在Nginx下的Rewrite
需要说明的是,下网上以前一直流传的Rewrite都是有误的。
下面的Rewrite中百分号前面多了个转移字符“\”,这在Apache中是需要的,而在Nginx中则是不需要的。
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page\%3D$3&page=$2 last;
正确的应该是
rewrite ^/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ /viewthread.php?tid=$1&extra=page%3D$3&page=$2 last;
这个错误在基本上目前所有使用Nginx作为服务器,并且开启了Rewrite的网站上存在。包括Discuz!官方,目前已经给cnteacher反馈了。
MySQL优化之COUNT(*)效率
刚给一个朋友解决他写的Discuz!插件的问题,说到MySQL的COUNT(*)的效率,发现越说越说不清楚,干脆写下来,分享给大家。
COUNT(*)与COUNT(COL)
网上搜索了下,发现各种说法都有:
比如认为COUNT(COL)比COUNT(*)快的;
认为COUNT(*)比COUNT(COL)快的;
还有朋友很搞笑的说到这个其实是看人品的。
在不加WHERE限制条件的情况下,COUNT(*)与COUNT(COL)基本可以认为是等价的;
但是在有WHERE限制条件的情况下,COUNT(*)会比COUNT(COL)快非常多;
具体的数据参考如下:
Xdebug终极教程
Xdebug终极教程分为五个部分,从Xdebug安装、Xdebug使用、Xdebug配置、Xdebug调试到WinCacheGrind工具的使用,完整而详细的一步一步揭秘Xdebug。
Xdebug安装
详细介绍了什么是Xdebug,为什么要用Xdebug,以及如何安装Xdebug。
Xdebug教程之Xdebug安装:http://www.phpq.net/tutorial/xdebug-install.html
Xdebug使用
从一个最简单的出错信息开始,到复杂的调试,一步一步向你演示Xdebug的使用。
Xdebug教程之Xdebug使用:http://www.phpq.net/tutorial/xdebug-use.html
Xdebug配置
根据Xdebug的官方文档来详细解释Xdebug的参数配置。
Xdebug教程之Xdebug配置:http://www.phpq.net/tutorial/xdebug-config.html
Xdebug调试
列举如何通过Xdebug来获取PHP程序的一些调试信息。
Xdebug教程之Xdebug调试:http://www.phpq.net/tutorial/xdebug-debug.html
WinCacheGrind工具
教你如何利用Xdebug配合WinCacheGrind工具来检测PHP代码的效率以及分析PHP代码。
Xdebug教程之WinCacheGrind:http://www.phpq.net/tutorial/xdebug-wincachegrind.html
Xdebug终极教程
Xdebug终极教程分为五个部分,从Xdebug安装、Xdebug使用、Xdebug配置、Xdebug调试到WinCacheGrind工具的使用,完整而详细的一步一步揭秘Xdebug。
Xdebug终极教程:http://www.phpq.net/tutorial/xdebug.html