欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

WEB应用开发中缓存技术的应用小结

程序员文章站 2022-03-04 14:49:45
...

一 客户端缓存

通过响应浏览器的header信息 通知浏览器做缓存,比如Etag Cache-control Expires Age 属性

以php代码为例

header("Expires: " . gmdate("D, d M Y H:i:s",time()+$ttl) . " GMT");


注意一个问题 http是无状态的,如果有session 则浏览器无法缓存

 

尤其是网站的静态资源,比如图片 css js ,合理的配置响应头信息,会有明显的作用

二 服务器端缓存

1 动态内容加速

1)业务级别的优化,比如缓存sql语句执行的结果。
举个例子,有一个信息列表

select * from item where state_id =1;

另外这个页面中还有其他sql执行

select * from item where item_id =111;
select * from item where item_id =112;
select * from item where item_id =113;

可以将第一条结果数据缓存放入数组,那么下面三条中如果111,112,113在上面缓存中的话,可以避免该查询。

2)Mysql 数据库缓存

优化Mysql配置来达到缓存的目地

3)缓存整个组件
将页面分成不同的区块组件,将整个区块的输出结果都缓存,比如一个页面有个“类似新闻”。可以将整块内容缓存一段时间,避免每次查询消耗。

比较常用的缓存手法是使用redis memcached等放入内存。

2 动态脚本加速

可以通过APC 或者HIPOP 缓存Opcode
具体配置可以参见 http://php.sinaapp.com/manual/zh/book.apc.php

3 web服务器缓存

可以通过Nginx Vanish Squid配置缓存

三 CDN代理缓存

使用CDN 加速网站访问,效果非常显著,尤其是在跨运营商环境因素下。国内比较知名的cdn服务商有 chinacache chinacenter

相关标签: 缓存