web缓存包括浏览器缓存,数据库缓存,代理服务器缓存。
代理服务器缓存
反向代理服务器,在数据转发过程中,可以缓存一些数据,以提高响应速度。
这个了解的不多,不多写了。
数据库缓存
我们可以将一些读取非常频繁的数据,比如访问次数,表单中显示的数据等,存储在redis,memcached等基于内存的nosql数据库中,作为缓存,提高响应速度。
读取缓存失败时,将会从mysql中取数据,并设置redis相应的数据库缓存。
当更新mysql数据库时,也更新redis相应的数据库缓存。
还有一种是语言层面的缓存,我们可以将一些访问量大,但更新不很频繁的页面,生成html文件。每当我们更新数据时,就重新生成一次html页面,这适用于首页和关于我等页面,因为是html页面,不需要动态执行,也不需要从数据库取数据,所以访问速度很快。可以通过php的ob
函数获取输出缓存中的数据,然后使用file_put_content
函数生成html页面。
HTTP缓存
HTTP缓存(浏览器缓存)一般是在服务器中设置的,也可以通过页面的HTTTP-EQUIV
属性设置。
HTTP缓存设置的优先级