浏览 999 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-03
城市在线 http://www.city366.com/
站点: 最终实现效果: 客户端 1.兼容所有浏览器 2.整个网站所有功能全部在一个页面实现 3.完全的 Ajax 4.div + css 布局 5.几乎不手写任何 html 代码,所有的对象 通过js动态维护 6.完全 js oo 编程,后台代码的任何 class,前台均会有一个js class与其对应 7.即便数据库完全坏死,毫不影响网站的正常浏览(读取功能不影响) 多级缓存 1.Sql 数据库存储(这行当我没说) 2.第一级,文件级别缓存 数据正常存储在数据库,如果每次打开页面,都通过即时检索数据库,会带来如下问题,第一,检索速度,随着数据的增加而减慢,第二,因为 母表,字表的关联查询,数据量大的时候,检索速度会进一步减慢,第三,检索到数据后,需要在内存在对数据进行整理打包。 解决方法:将所有的数据,均通过 xml 文件缓存在硬盘上,将所有数据放置在一个,或者几个 xml 文件中不现实,xml 缓存样例:CityId_Categoryid_SubCategoryId.xml 3.第二级,内存缓存 虽然第一级,避免了每次浏览内容检索数据库,但第一级毕竟也是对硬盘的操作,硬盘技术至今仍然是 PC 最弱的一个环节,硬盘的读取速度,与内存相比,相差数量级。所以,将所有数据 通过 hash 的形式,存储在 内存中,将会对系统的浏览速度,有极大的提高。 4.第三级,客户端缓存(终极缓存) 即便通过第二级,脱离了硬盘操作,但是,即便每次请求同样的数据,仍然需要进行服务器,客户端的交互。如果可以实现将所有浏览过的数据,直接缓存在客户端,那对减少网络带宽,降低服务器的负载,都是一个极大的提升。 实现方法:通过 浏览器的对象,直接缓存在浏览器中。 预览方法:点击任何一个菜单,或者条目,您会发现,右上角会出现“加载中,请稍候...”的字样,如果 第二次 打开您浏览过的对象,您会发现,右上角的提示不会再出现了,因为您所有浏览过的信息,均已经缓存在了客户端浏览器中。 服务器端 1.常用的 多层架构(这行是废话),OO编程 等等... 2.服务器端的东西,好像实在没啥好写的,都是些最基本的东西,就此跳过 这个网站是自己突发奇想,想一点,写一点,写着玩的,没想到一步步的就这么实现了,后来在公司的项目 http://www.backofmyhand.com/ 再次重用了一下,感觉不错,有一次公司的数据库 down 掉了,网站正常浏览,心情相当不错,呵呵... 如果大家有一些建议,请给我反馈,我也想继续探索...没事找事... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |