嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

周梦康 发表于 2014-08-26 2153 次浏览 标签 : Mysql计算机基础

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

以下内容来自公开课:http://www.ucai.cn/opencourse/130

不保证正确,个人理解。

1.要利用到mysql自身缓则必须保证SQL语句一样
那么我们就尽量保证查询语句一样例如我们要统计前五分钟的好友访(假设这个访问量是不太重要),一般来说可能会写成
xx where ctime > time() - 5*60
这样的话每次请求的时候都不一样,如果改成
xx where ctime > $time

而这个 $time 是把24小时每5分钟分成N断之后的一个时间段,那么某五分钟的区间内,用户再去请求,则命中缓存,但是也使得数据的实时性有所降低。

2.减少更新和插入

比如文章的访问量,可能用户刷新一次网页,这个访问量就+1,想这种数据,就可以先放到memcache或者redis等,等访问量累计到100,的时候再插入到数据库。

3.将经常更新的字段从表中分离出来
比如phpcms等开源程序中都会将各种计数的专门放入一张技术表,这样,更新的时候只更新那一张表,而其他所有的相关的表的查询都不受影响,这样也提高了命中率。

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表