为了达到高性能web的访问的效果 ,最有效的方法就是网站的静态化了,生成html访问。比如,做一个cms,有一些地方大家是怎么解决的呀?
网站静态化,并不一定非要靠写代码实现整站 HTML 的生成,有些工具能提供非常好的缓存机制。在 Web 开发中,最关键的瓶颈往往在于数据库,减少数据库的读写压力,就是缓存的主要作用。
在可以提供缓存功能的工具中,应用层的可以用 Memcache 和 Redis,前端缓存可以用 Varnish 和 Nginx 的提供的缓存功能,当然还要合理利用 304 状态码。
以 Memcache 和 Redis 为例,它们的作用是让你能够把数据库的数据保存在内存或者是磁盘文件上,这样每次请求过来你仍然可以通过程序来控制业务逻辑,但是极大地减少了数据库的访问,性能自然提升。
而对于 Varnish 和 Nginx 这样具有反向代理功能的工具来说,它们的作用就是将第一次动态请求的页面缓存起来,在过期时间内,接下来的请求返回的都是缓存里的数据,不再向后端服务器发起请求。
而对于你后面的问题,阅读次数,评论这些静态中常变的部分,使用不同工具的情况下也有不同的解决方法。
文章的阅读次数 —— 使用应用层缓存的情况下,可以先把阅读次数写入到缓存中,在后台写个脚本定期从缓存中读出来写入到数据库里。使用前端缓存的情况,可以用 Ajax 异步调用把阅读次数写入到数据库中,如果写压力大的话,就像使用应用层缓存一样,先写入缓存,再写脚本定期读。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。