Web应用中缓存的七种武器:
1 数据库的缓存
通常数据库都支持对查询结果的缓存,并且有复杂的机制保证缓存的有效性。对于MySQL,Oracle这样的数据库,通过合理配置缓存对系统性能带来的提升是相当显著的。
2 数据连接驱动的缓存。
诸如PHP的ADODB,J2EE的连接驱动,甚至如果把HIbernate等ORM也看成连接器的话。这里的缓存有效机制就不是那么强了,使用此步的方法实现缓存的一个最好的优点就是我们取数据的方式可以保持不变。例如,我调用
$db->CacheGetAll("select * from table"); 的语句不需要改变,可以透明实现缓存。这主要应用于一些变化不大的数据上,例如一些数据字典是不经常变化的。
3 系统级的缓存
可以在系统内通过Cache库,自行对需要的数据进行缓存,例如一个树桩菜单生成十分消耗资源,那可以将这个生成的树缓存起来。这样做的缺点是,当这颗树的某些地方被更新时,你需要手动更新缓存内的东西。
使用的缓存库都可以有不同的缓存方法,有的把内容放在硬盘上,有的放在内存里面,如果你把内容模拟成硬盘来缓存,速度当然也能提升不少。
4 页面级的缓存
这个在内容管理系统里面用的最多。也就是生成静态页面。这里面缓存控制机制最为复杂,一般也没有什么包治百病的方法,只有具体情况具体分析。
通常生成的静态叶面你需要有一个机制去删除过时的,或访问很少的叶面,以保证检索静态叶面的速度。
5 使用预编译叶面和加载为FastCGI的办法
对于PHP,可以使用zend等编译引擎,对于JSP本身就是预编译。而FastCGI的原理就是将脚本预先加载起来,不用每次执行都去读,这和JSP预编成Servlet,然后加载的道理是一样的。
6 前置缓存
可以使用Squid作为Web服务器的前置缓存。
7 做集群
对数据库作集群,对web服务器作集群,对Squild前置机做集群
对于新手来说,如果你的程序要是恰死,首先你要检查代码是否有错误,是否存在内存泄漏,如果都没有,那么通常问题出在数据库连接上面。
综合应用上面的缓存方法,开发高负载的Web应用成就很容易了。
分享到:
相关推荐
其中,Shiny是一个由RStudio开发的库,它允许用户创建交互式的Web应用程序,无需深厚的前端开发经验。本教程将围绕R语言的"七种武器"之一——Shiny,探讨如何利用它来制作动态图形,为数据分析的展示和交流带来全新...
Web前台开发是构建互联网应用程序的重要部分,它涉及到用户与网站互动的所有视觉和交互元素。以下是一些关键的知识点: 1. HTML(HyperText Markup Language):HTML是构成网页的基础语言,用于定义网页的结构和...
ASP.NET是微软公司开发的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web应用的开发过程。这个“亲密接触ASP.Net代码”压缩包很可能是包含了一系列ASP.NET编程的...
巨型机主要用于战略武器、空间技术和天气预报等领域,大型机常作为大中型企业事业单位的中央主机,小型机服务于中小企业,而微型机则渗透到日常生活和工作中。 计算机的主要特点包括强大的运算能力、高计算精度、...
《IntraWeb与iw9tmsd7p:构建高效Web应用程序的秘密武器》 IntraWeb,一个由AtoZ Development公司开发的组件库,是为Delphi和C++Builder开发者设计的,用于构建高性能、交互式的Web应用程序。它允许开发者使用桌面...
计算机按规模可分为巨型机、大型机、小型机和微型机,各自在战略武器、大型企事业单位、中小企业和个人用户等不同领域有广泛应用。 计算机的特点主要包括强大的运算能力、高精度计算、强记忆力和逻辑判断能力。这些...
例如,巨型机用于战略武器、空间技术和天气预报等领域,大型机常作为大中企事业单位的中央主机,小型机服务于中小企业,而微型机则广泛应用于个人用户,是当前最普遍的机型。 计算机的特点包括强大的运算能力、高...
**正文** 《The Django Book》中文版是一本详细介绍Python Web开发框架Django的权威指南。...通过系统学习,你可以熟练掌握使用Python和Django构建Web应用的技能,为你的职业生涯增添一份强大的武器。
数据库是许多Web应用的性能瓶颈,书中会有专门章节讨论数据库性能优化,包括SQL查询优化、索引设计、连接池配置等,旨在帮助读者最大化数据库系统的性能。 最后,书中还会讨论分布式系统和微服务架构下的性能分析,...
- **七种缓存使用武器**:在高并发场景下,合理运用缓存可以极大提升系统响应速度。常见的缓存策略包括本地缓存、分布式缓存、反向代理缓存、数据库查询结果缓存等。选择合适的缓存工具和策略,如Memcached、Redis、...
缓存技术的核心目标是减少对硬盘I/O的依赖,通过将常用数据存储在内存中,使得数据读取更快,从而显著提升应用程序的运行速度。 首先,我们来深入了解一下缓存的基本原理。在计算机系统中,内存的访问速度远高于...
1. **JavaWeb静态页面**:这部分涉及的是构建Web应用的基础,通常包括HTML、CSS和JavaScript。在Java Web开发中,静态页面用于展示不依赖服务器动态生成的内容。学习时,会涉及到HTTP协议、MVC模式以及Servlet和JSP...
七种缓存使用武器 为网站应用和访问加速发布时间: 92 可缓存的CMS系统设计 93 开发大型高负载类网站应用的几个要点 105 Memcached和Lucene笔记 110 使用开源软件,设计高性能可扩展网站 110 ...
ASP.NET是微软公司推出的一种用于构建Web应用程序的开发框架,它是Active Server Pages(ASP)的下一代技术。ASP.NET以其强大的功能、高效性和易用性,成为了现代Web开发的重要工具。 1. **面向对象性** ASP.NET...
ThinkPHP 3.1.2的Cluster模式,是应对复杂、高负载Web应用的重要武器。它不仅提高了系统的并发处理能力,还提供了良好的可扩展性。开发者需要理解其基本原理,熟练掌握配置和实践技巧,才能充分发挥Cluster模式的...