针对“超重页面”开发遇到的问题

问题描述

对于一个网站,首页或模块首页一般都会做的相当复杂,如果每一部分的数据都在访问的时候从数据库获取,那么整个页面将会访问数据库七八十次甚至更多。最要命的是,这个页面得数据量也超大。这个时候,针对流量比较大的大型网站来说,如何设计或者说如何实现首页最好?1.生成静态页是个方式,如何做?生成的静态页放在那里?如何生成?2.如果这个页面再次分成各个等级的小模块然后用标签的方式表达,这些标签对应的内容提前放置在另一个地方是否也可以间接解决这个问题,又如何解决?还有没有其他方式,您采用的什么模式,请各位大神说具体点,十分感谢

解决方案

解决方案二:
超重了10块1公斤
解决方案三:
用Cache啊。
解决方案四:
比如说一个页面上有5个地方都需要访问“当前用户所在的工作组的最新消息数量”这个数据,并且假设有100万次访问,那么当然不需要查询数据库1000万次啦,只需要查询数据库一次,以后当然就是从数据缓存中读取。难道你还没有学过数据缓存技术?数据缓存技术中最关键的,不使用内存变量去保存数据,而是知道如何设置cache的缓存依赖属性从而使得当后台数据改变时及时清除缓存数据的技术,这样才能保证不是脏数据。
解决方案五:
除了数据缓存,假设仅仅是为了页面展示(而不是作为后台数据),那么当然也可以使用片断缓存技术,让页面上许多部分(许多用户控件)分片自动缓存。并且片断缓存也可以指定好几个缓存参数,例如根据用户提交参数、共根据内部子控件的改变、根据SQLServer数据库表记录被修改、甚至自定义的“万能”条件表达式。
解决方案六:
该回复于2012-01-29 09:22:49被版主删除
解决方案七:
使用页面输出缓存和片断缓存,是比较简洁的。我建议在你不了解数据缓存时优先使用页面缓存技术。但是有时候往往也需要求助于数据缓存技术。单单就数据缓存来说,它让你无需纠结于必须“重新”设计程序逻辑,你完全可以以搭积木的方式来设计程序数据查询的了逻辑,然后用数据缓存技术来提高性能。对于许多不懂数据缓存技术的人来说,很容易就认为只能重新从头彻底推倒原来的数据查询逻辑才能提高页面数据查询的效率,这个结论显然是比较原始的(只追求一次性把文档写“完美”式的)函数式思维,而无法支持现代的用敏捷和灵活地重构的设计思维。
解决方案八:
不太清楚缓存机制,当时考虑到缓存会占用内存资源,还会有生命周期就直接否定了,而且生命周期并非人动态控制,所以总觉得不大好。有没有相关资料介绍一下缓存机制?是否有其他方式可以实现,比如静态页的方式到底好不好,如何实现?
解决方案九:
该回复于2012-01-29 09:19:33被版主删除
解决方案十:
引用楼主loundar2的回复:

对于一个网站,首页或模块首页一般都会做的相当复杂,如果每一部分的数据都在访问的时候从数据库获取,那么整个页面将会访问数据库七八十次甚至更多。最要命的是,这个页面得数据量也超大。这个时候,针对流量比较大的大型网站来说,如何设计或者说如何实现首页最好?1.生成静态页是个方式,如何做?生成的静态页放在那里?如何生成?2.如果这个页面再次分成各个等级的小模块然后用标签的方式表达,这些标签对应的……

那么整个页面将会访问数据库七八十次甚至更多!可以返回个DATASET临时数据库然后再从里面再查询!这样就只用访问数据库一次了!然后再加缓存
解决方案十一:
该回复于2012-01-29 09:11:24被版主删除
解决方案十二:
可以使用缓存生成html也行
解决方案十三:
可以把关键查询做cache,用不习惯微软的,你用memcache也一样。你指的生命周期是指导缓存的时间限制吧,用sqlserver的话,可以根据数据库变动自动更新缓存。当然用shtml或ajax加静态页也没问题,但你需要一个维持这些静态页的机制,这可能导致你再多开发一个静态页发布服务来发布这些静态页。目前我是采用的静态页的这种方式。

时间: 2024-08-07 17:50:08

针对“超重页面”开发遇到的问题的相关文章

页面前端的水有多深?再议页面开发

但凡从事互联网的人基本都会写几行html,用过Word的人用Dreamweaver也能做出规整的页面,所以大部分人会很自然地认为"页面的开发没什么技术含量,很简单".不仅有这种普遍的认知,对从业者来说也有很多疑惑:做页面前端实现,没问题;兼容性,小case;图片集成,一直都在用-- 还能有什么问题?瓶颈啊.天花板啊.转型啊.出路啊就在从业者中广泛讨论.是不是真的没什么问题了呢?网易邮箱前端技术中心也设立好几年了,似乎有着讨论不完的话题,也经常会有一些新的想法让大家为之一振.那么页面开发

多页面-个人网站 针对一个页面不允许打开多次

问题描述 个人网站 针对一个页面不允许打开多次 自己的一个网站,用户登录后,比如说center.html页面,只允许用户一次打开一个,不允许一次打开多个center.html页面,怎么处理比较好(一个用户在同一时间内只能开一个center.html页面) 解决方案 js在页面定时器轮询,如果发现有新的页面打开,自身就跳转到一个出错信息的页面.

html5-移动端web静态页面开发教程

问题描述 移动端web静态页面开发教程 谁有移动端html页面开发视频教程啊??谁有??跪求.. 1 解决方案 网易云课堂有html5的视频,大部分免费,极客学院也有,大部分收费,根据你的需要可以选择一下. 解决方案二: 爱酷学习网里面也全是免费的视频.我自己就在里面学习了基础的html5.有基础的还有例子啊什么的很详细的.而且可以免费下.

FrozenJS 针对移动端开发的 js 组件库

什么是FrozenJS FrozenJS 是针对移动端开发的 js 组件库,其依赖 zepto.js 和 FrozenUI.FrozenJS 的所有组件均以 zepto 的插件的形式存在. FrozenJS 包括: basic:FrozenJS 的一些基础功能,包括模板引擎.tap 支持等. ui:主要是一些触屏常用的 UI 组件,包括 dialog 等. effect:非常用的特效库,特殊场景使用到是可以单独调用. 更多文档请查看:http://frozenui.github.io/froze

【技术干货】前端开发之jQuery单页面开发

本文作者:上海驻云Web前端工程师 著名2.5次元患者 黄志彪 (头像与真人一模一样) 一.前言   单页面开发在如今的WEB开发中占有绝对的优势,单页面应用可以提高用户体验度,可以实现跨平台应用开发.要实现单页面开发也有很多前端框架,比如:AngularJS,BackboneJS等等,这些都是很流行很全面的前端开发框架,它提供了网页模板,路径解析,API访问及Dom操作功能,但是有时候我们的需求比较简单,如果用这些大型前端框架那就显得有点重了.这里我介绍下自己使用Jquery实现单页面应用开发

c++-C++图形页面开发用什么工具

问题描述 C++图形页面开发用什么工具 我是一个在校大学生,主要学习C/C++语言,我们现在写的程序都是一些控制台应用程序.怎样网上一些一样做出有图形呢?百度了一下,好像有两种Qt和cocos2dx,我想自学一下其中的一个或者其它的,现在企业一般用那种图形库开发呢? 解决方案 Qt:可以支持多种操作系统,包括Windows.Linux.Mac OS.Android.VxWorks等: VS C++.net(MFC):只支持Windows系统: cocos2dx:不了解. 解决方案二: vs201

java 编程-如何用java在后台页面开发一个计时器

问题描述 如何用java在后台页面开发一个计时器 主要用于考试系统计时,时间结束,页面自动提交到服务器求各位大神帮忙讲一下,我是一个初学者,谢谢大家了! 解决方案 直接前台获取js的倒计时就可以了,但是保险一点的话,后台也可以同时计时,通知前台自动提交试卷. 解决方案二: 客户端轮询服务器时间,到点提交就可以了. 解决方案三: 用JS做定时器就行了 var s = 59;//用来记录秒,因为需求是从59开始的. var m = residueTime-1;//用来记录分钟 var w = set

js判断浏览器类型及设备(移动页面开发)_javascript技巧

下面主要用javascript代码来判断浏览器类型及设备访问该网页面,支持手机上的所有浏览器,具体代码如下. <!DOCTYPE html> <html> <head> <title>JS判断是什么设备是什么浏览器-www.jb51.net</title> <meta charset="utf-8"> <meta name="apple-touch-fullscreen" content=

Web页面开发战中的一次重量级复赛

Web页面开发战中的一次重量级复赛          Allaire公司的ColdFusion和Microsoft公司的ActiveServerPages(ASP)是两个在专业Web应用开发领域争夺市场份额的高端产品.去年12月,我们将冠军授予了ASP的集成开发环境(IDE)--VisualInterDev1.0,因为它具有优秀的数据库工具,而且学习起来较快.去年夏天,Microsoft推出了6.0版的VisualInterDev.而现在由Allaire发行的ColdFusion4.0为这一重量