代码改变世界

随笔档案-2011年7月14日

thinkphp的静态缓存使用方法

2011-07-14 16:43 by 卫佳, 310 阅读, 收藏,
摘要: thinkphp里面内置了一个静态缓存功能,说静态缓存可能对我这种菜鸟而言不太好理解。其实静态缓存就是将THINKphp的某一个操作显示出来的页面生成一个HTML文件保存在设置的路径,当用户再次访问的时候,如果缓存没过期,那么这个操作将不再执行它下面的PHP程序,而是直接调用生成的HTML/AcetateSunglasses缓存文件。要使用静态缓存就需要在项目配置目录__APP__/Conf下面增加静态缓存规则文件htmls.php,还需要在配置文件中打开静态缓存'HTML_CACHE_ON'=>TRUE,设置已经生成的静态页保存路径'HTML_PATH' 阅读全文

深入探讨Varnish缓存命中率

2011-07-14 16:42 by 卫佳, 598 阅读, 收藏,
摘要: 也许你还在为刚才动态内容获得7336.76reqs/s的吞吐率感到振奋,等等,理想和现实是有差距的,你要忍受现实的残酷,别忘了,我们压力测试中的动态内容都处于全缓存情况下,也就是每次请求都命中缓存,这在现实中往往是不可能的。首先,缓存区空间大小是有限的,而我们的站点可能有大量的内容需要被缓存,而不像前边压力测试时只有一个内容。一旦缓存区被装满,那么缓存管理器便会淘汰一些它认为不再需要的缓存内容,比如通过LRU(最近最少使用算法)将使用频率较低的缓存内容淘汰出去,但是,这里判断“不常使用”的标准是不严格的,也许被淘汰的内容就是你将要访问的下一个内容,这便影响了它的命中率。其次,缓存的过期时间也. 阅读全文

合理配置MySQL缓存 提高缓存命中率

2011-07-14 16:41 by 卫佳, 392 阅读, 收藏,
摘要: 众所周知,系统读取数据时,从内存中读取要比从硬盘上速度要快好几百倍。故现在绝大部分应用系统,都会最大程度的使用缓存(内存中的一个存储区域),来提高系统的运行效率。MySQL数据库也不例外。在这里,笔者将结合自己的工作经验,跟大家探讨一下,MySQL数据库中缓存的管理技巧:如何合理配置MySQL数据库缓存,提高缓存命中率。一、什么时候应用系统会从缓存中获取数据? 数据库从服务器上读取数据时,可以从硬盘的数据文件中获取数据,也可以从数据库缓存中读取数据。现在数据库管理员需要搞清楚的是,在什么样的情况下,系统是从缓存中读取数据,而不是从硬盘的数据文件中读取数据? 简单的说,数据缓存就是内存中的一块. 阅读全文

使用Memcache缓存MySQL查询

2011-07-14 16:40 by 卫佳, 747 阅读, 收藏,
摘要: 实际应用中,尤其是在大规模访问的Web项目中,Memcache作为一种优秀的缓存解决方案,被广泛使用。其灵活性和可扩展性受到了广大开发者的青睐。为了提高响应速度,使用Memcache来减少数据查询运算是一种不错的选择。关于Memcache的安装和配置,网上有很多资料,这里就不再赘述。本文以笔者在实际项目中的应用为例,来说明如何使用Memcache缓存MySQL数据,从而达到高效数据响应的目的。需求背景:网站有一个图片放映功能,页面加载时需从数据库中查询管理员所提交放映的图片信息,图片放映区共有9张图片,对应在数据库表中有9条记录。每次用户访问网站时,需查询数据库,并显示图片。当承受大规模用户. 阅读全文