编译一个适合自己的MySQL – MySQL邯郸学步

为什么需要编译MySQL ? 性能! 那么不费话 开始:

###以 MySQL 5.1.42 为例
#tar xvf mysql-5.1.42.tar.gz
#cd mysql-5.1.42/

#./configure –prefix=/usr/local/mysql51 ### 只定安装目录
–with-embedded-server –enable-assembler –with-mysqld-ldflags=-all-static –with-client-ldflags=-all-static ### 静态编译
–without-debug –without-docs –without-man –without-readline ### 舍去不必要的东东
–with-charset=utf8 –with-collation=utf8_general_ci ### 指定编码,建议使用utf8, 默认latin1
–with-extra-charsets=complex ### 添加支持的编码, 根据自己的需求指定
–enable-thread-safe-client ### 线程安全
–enable-local-infile –with-ssl –with-libwrap ### 附加网络安全支持
–with-plugins=innobase,heap ### 支持 Innodb 及内存表
###可以不只定系统平台, 编译程序会自检; 如果指定, Like: –with-system-type=i686-redhat-linux-gnu –with-machine-type=i686-redhat-linux-gnu

#make
#sudo make install

编译MySQL 是很轻松的事, 毕竟没有烦琐的配置测试就可以提升不少性能.

迁移 Innodb 共享表空间至独立表空间 – MySQL邯郸学步

关于 MySQL 中的 Innodb 引擎就不多说了, 毕竟除了MyISAM 之外, 它的应用最广泛. Innodb 存储数据有两种方式: 共享表空间 和 独立表空间. 顾名思义, 共享表空间 就是把所有数据库数据放在一个或多个文件中( 这种方式的话,使用裸设备倒是很方便); 独立表空间 就是采用和MyISAM 想同的方式, 每个表拥有一个独立的数据文件( .idb )。

在服务器资源有限,单表数据不是特别多的情况下, 独立表空间明显比共享方式效率更高. 但是MySQL 默认是共享表空间, 现在LD 来演示一下转换方法.

阅读完整的文章 »

简单的PHP文件缓存测试

LD 写过一个 DsCache, 当然, 现在集成在新框架中, 嘿嘿, 还是自己写的东…西…好用!

言归正传, 之前 QeePHP 论坛里曾出过这么一个传言, 那就是 phpdatafile 缓存方式速度极快, 老大还说, ta几乎可以和 xcache 匹敌. 于是 LD 杀到 qee 的svn中, look 一点源码. 其实所谓 phpdatafile, 关键在于 var_export , 那么普通php 文件缓存呢? serialize. 简单改写后, 测试了下. 大跌眼镜.

阅读完整的文章 »

按照自己的方式,去度过人生!

昨晚11点, 第三次读完《明朝那些事儿》, 彻夜未眠.

LD 并不是个聪明的人, 前两次均未理解所谓历史 所谓宿命 所谓自由. 这半年, 从09年9月, 第三次读《明》, 完全不同的感受, 石悅的历史观也许是悲观的, 正如他如是说. 然, LD 是悲愤的!

可以活得唯唯缩缩, 可以轰轰烈烈, 也可平平淡淡, 人之所以为人, 就是与别个不同. 10月, LD 曾慕名前往于谦祠, 旁边帅GG 惊呼: 于谦? 谁啊? 好像以前学过… 是啊~ 我也是. 强人只是那么一瞬间, 那一刻 绽放比凡人璀璨的花火, 之后殒灭为尘秽, 清澈、汙浊平凡无异.

生活的目标 一点足矣, 开心. 礼义廉耻 忠义孝廉 儿戏 儿戏, 二十几年来, 从没有这么坚定, 从没有这么澄净. 引用《火鳳燎原》中那句话: 属于我的这个年代, 将比任何朝代来得久远!

PHP容易被人忽略的10件事

1.使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里。这种方法把存储空间降到了接近四分之一(char(15) 的 15 个字节对整形的 4 个字节),计算一个特定的地址是不是在一个区段内页更简单了,而且加快了搜索和排序的速度(虽然有时仅仅是快了一点)。

2.在验证 email 地址的时候使用 checkdnsrr() 函数验证域名是否存在。这个内置函数能够确认指定的域名能够解析成 IP 地址。该函数的PHP 文档的用户评论部分有一个简单的用户自定义函数,这个函数基于 checkdnsrr(),用来验证 email 地址的合法性。对于那些认为自己的 email 地址是 “joeuser@wwwphp.net” 而不是 “joeuser@php.net” 的家伙们,这个方法可以很方便的抓住他们。

阅读完整的文章 »

有这么一类人

话说有这么一类人, 出于爱好, 修炼着同一门武功, 但成就、财富、名声却是天上地下. 这类人时而沉默寡言, 时而滔滔不绝; 时而静如止水, 时而动如雷霆; 时而浑浑噩噩, 时而妙策如神…

这类人不乏强者:

  • 富堪敌国者, 国之元首都得忌其三分;
  • 贫困潦倒者, 醉死于汽车旅馆之中;
  • 颠覆世界者, 百无所忌 “I am your God.”;
  • 天生异才者, 杀妻入狱 时势弄人; …

他们遵循同一原则, 修炼达 1000hours 则可初窥门径, 从量变转为质变; 稍有心志者, 在1k-1w的修炼之中聆听福音, 领悟所谓的’道’. 得道者, 无愧为 破罗掴乳姆尔 !

阅读完整的文章 »

简单实用的PHP模板引擎 DsTemplate

昨天花了点时间写了个PHP的模板类, 自我感觉良好, 模板中使用php原生语法, 简单、实用、快速. 嘿嘿,源码+注释不到150行, 原来我已经到这里了阿~_~

LD 是极其痛恨 Smarty 和 ADOdb 的! 以前在公司简单作过测试, 一个页面八成的时间花在这两个大腕上, 惨. 这个DsTemplate + MagicDB + DsCache 应该可以完美替代 Smarty + ADOdb 的无耻组合了.

有种说法不置可否, “php 自己就是一个模板引擎” OR “php 的框架不过是建里在框架上的框架” . so 以其使用Smarty , 不如改用Blitz , 或者干脆自己写个简单的.

源代码地址: http://code.google.com/p/dscache/source/browse/trunk/DsTemplate/DsTemplate.class.php
阅读完整的文章 »

硕鼠

硕鼠硕鼠,无食我黍!
三岁贯女,莫我肯顾。
逝将去女,适彼乐土。
乐土乐土,爰得我所。

硕鼠硕鼠, 无食我麦!
三岁贯女,莫我肯德。
逝将去女,适彼乐国。
乐国乐国,爰得我直。

硕鼠硕鼠,无食我苗!
三岁贯女,莫我肯劳。
逝将去女,适彼乐郊。
乐郊乐郊,谁之永号?

09年最后一天, 硕鼠啊·硕鼠~~

原来提交AUR这么简单哈

话说用了这么久Arch Linux, 也没啥贡献, 昨日发现AUR上还没有人维护 Blitz 的包, 那么偶就代劳了.

把PKGBUILD脚本提交AUR太简单, 选择文件、上传, 其余全自动的, 真方便. PS: 本来忘了AUR密码的, 网站维护者估计也看穿了偶蹩脚的engilsh, 给我reset一个”常用测试密码”, 囧.

小常识: Blitz
阅读完整的文章 »

阳春白雪 MagicDB

把PHP的 mysql 和 mysqli 封装一下, 然后加个静态化的单件模式就是 阳春白雪的 MagicDB.

在Driver是 ‘mysql’ 的情况下, 内部自动判断可用的 extension, 然后建立连接, 操作和PDO相同哦! 顺序 PDO、mysqli、mysql. 如果PDO可用,则优先使用PDO作为数据库驱动.

示例:
阅读完整的文章 »

Page 1 of 2712345»...Last »