CDEFGAB 1010110

挖了太多坑,一点点填回来

有关 PHP SPL 的小技巧

php

PHP SPL(Standard PHP Library)是从 PHP 5 开始加入的新内容,到 PHP 5.3 时有了更加丰富的功能,加入了各种数据结构 http://us1.php.net/book.spl 。这个东西看上去有点复杂,但是实际用起来非常有用,比普通的 PHP 函数提供了更加人性化、完全面向对象化的接口。

举两个例子来瞅瞅:

聊聊 Memcache

cache, memcache, 缓存

什么是 Memcache

Memcached 是一个免费开源的、高性能的、具有分布式内存对象的缓存系统,它通过减轻数据库负载加速动态 Web 应用。最初版本由 LiveJournal 的 Brad Fitzpatrick 在 2003 年开发完成。目前全世界很多用户都在使用它来构建自己的大负载网站或提高自己的高访问网站的响应速度。Memcache 是这个项目的名称,而 Memcached 是服务器端的主程序文件名。

早先碰到的一个 PHP 问题,有关 Curl 和 File_get_contents

php, work

最早在 SmarterUS 改版的时候,后台数据采用了 API 的方式来提供,当时我第一次想要获取 API 数据时,天真的使用了 file_get_contents 函数,结果在自己的机器上能正常获取 XML 数据,但是代码一上到公司的开发机,获取 API 时返回竟然是空白页面,实在是百思不得其解。

既然 file_get_contents 不能起作用,那就换个方式,用 curl 来获取远程数据好了。当然用 curl 能成功地获取数据,但是我还是有疑问——为什么 file_get_contents 就是不行呢?

MySQL 索引知识点

mysql

索引是一种特殊的文件,InnoDB 数据表上的索引是表空间的一个组成部分。它们包含着对数据表里所有记录的引用指针。

从理论上讲,完全可以为数据表里的每一个字段分别创建一个索引,但是 MySQL 把同一个数据表里的索引总数限制为 16 个。MySQL 还允许为多个字段的组合创建索引,这种索引对涉及多个字段的查询/排序操作——例如 WHERE coutry='China' AND city='Shanghai' 特别有帮助。

FireFox 常用扩展

browser, firefox

公司电脑重装了系统,FireFox 的同步功能不好用,扩展又得重装了。

整理一下常用的 FireFox 扩展,以后重装系统的时候就没这么麻烦了。

如何处理 Dog Pile Effect

cache, memcache, php, redis, 缓存

什么是 Dog Pile Effect?

在缓存系统中,缓存总有失效的时候,比如我们经常使用的 Memcache 和 Redis ,都会设置超时时间;而一旦缓存到了超时时间失效之后,如果此时再有大量的并发向数据库发起请求,就会造成服务器卡顿甚至是系统当机。这就是 Dog Pile Effect 。

MySQL Replication 小结

mysql

MySQL Replication 是 MySQL 非常有特色的一个功能,他能够将一个 MySQL Server 的 Instance 中的数据完整的复制到另外一个 MySQL Server 的 Instance 中。虽然复制过程并不是实时而是异步进行的,但是由于其高效的性能设计,延时非常之少。MySQL 的 Replication 功能在实际应用场景中被非常广泛的用于保证系统数据的安全性和系统可扩展设计中。

当爹不容易

life

两周前,我把一个祖宗接回了家,从此开始过上了当猫奴的日子。

两周以来,每天打扫厕所、加猫粮,还得逗猫玩、和猫打架、抢床睡觉,还真是有点辛苦。

养个宠物尚且如此操心,将来要是养小孩的话……唉!

当爹还真是不容易啊。

PHP 5.4 新特性

php

安装了 Ubuntu 12.04 之后,我就一直在 PHP 5.3.10 的环境下一直工作了。前段时间,通过 PPA 把 PHP 升级到了 5.4 。

1
2
3
4
5
sudo apt-add-repository ppa:ondrej/php5-oldstable

sudo apt-get update

sudo apt-get upgrade

这个源和 PHP 5.4 的官方 release 同步更新。目前,我机器上的 PHP 版本已经升级到了 PHP 5.4.21。