网站(B/S开发中)cache应用

cache

关于中大型开发b/s开发中的缓存(cache),我的一些看法,有不正确的或者是有笔误的地方,请指正。thanks

首先,应该了解基本的,对于缓存的知识:

Q:如:静态缓存和动态缓存的区别?缓存是什么?

A:缓存,在某个方面简单的说,就是无需与数据库再次交互.

静态缓存: 即所说的html,shtml文件。

动态缓存:即所说的把缓存存于服务器的内存中,需要时调用。

他们的区别在哪呢?

静态缓存不用占用负载(服务器的内存),但需要占用服务器的空间(因为生成很多文件),最重要的,是因为生成了静态的缓存,而不利于维护,因为当你设计一个系统的时候,你必须考虑到用这个的后果,应该就像设计模式中所说的,有的模式是灵活的,而有的模式是一开始布署的时候就不变了的。

因此,重申一次,设计时需要小心。考虑尽可能多的东西,如:系统升级后,是否还适用(尽可能的想),是否有利于更换模板,为一些页面添加特殊的或特定的代码,用shtml还是html?等等。

而动态的cache,我想大家都应该知道动网“迷城浪子”写的用application做为cache的class了,这是asp中比较经典的用动态cache的例子。因此我也不用说太多过于application的cache了。他的优点就在于,较静态的cache利于维护和升级。以下是静态缓存与动态缓存示意图:

A: 何时使用静态缓存和动态缓存呢?

Q:这个要看具体,你是如何布署服务器,以及,你是怎么样设计你的程序与代码的
举个例子:

我的服务器负载量够大,无需考虑内存这里问题,那么你可以较多的使用动态的cache,如新闻的索引页、首页、更多的索引页。而不必再生成静态的。如动易以前的版本(现在的版本我是很清楚,现在的好像是采用了静态的缓存)广泛采用动态的缓存技术。因此在后台更新时,需要手动更新cache,当然这里就可以采用URL rewrite了,更利于Search Engine的收录。提醒一句,这一点也蛮重要的,也是提醒很多的个人架设服务器的朋友,Search Engine并不是非常的友好的
(通常Search Engine的robot在收录的网站的过程中。会一直在爬你的网站,因此,做一个流量访问的系统还是很有必要的,记得cnblog(博客园)的dodo在检测中发现yahoo的robot每分钟爬的次数是google的几倍,这对你的网站速度是某个方面是有影响的,有的时候还很大)

而静态的缓存呢,上面也说到了,不利于维护。但广泛采用的MVC开发方式,把页面与程序很好的分离开来的话,是可以更快的提高,如我下面的图所示:

Q: 还有其它的方式来布署吗?

A: 有。如下所示。采用Proxy的技术来设计,通过代码获得静态cache是否可用,如果可用的话,如果不可用(这里所说的不可用,即是cache不存在,或者已经改动过cache了),则重新生成输出,否则的话,直接输出。

采用动态cache和静态cache的完整示意图,用消息通讯。简单的说明了如何应用cache的布署和应用。当然可以不用Cache Proxy来判断的,去掉cacheproxy也是一样的。

时间: 2025-01-02 23:49:53

网站(B/S开发中)cache应用的相关文章

jsp网站设计与开发中登陆界面代码问题

问题描述 jsp网站设计与开发中登陆界面代码问题 设计一个登录的页面,登录前jsp页面显示请登录和输入框.登录后输入框消失,显示用户名和退出,求教怎么做? 解决方案 登录前一个jsp页面,登录后一个jsp页面就可以了啊 解决方案二: 利用ajax!我局的很好!

B/S网站开发中缓存应用

关于中大型开发b/s开发中的缓存(cache),我的一些看法,有不正确的或者是有笔误的地方,请指正.thanks 首先,应该了解基本的,对于缓存的知识: Q:如:静态缓存和动态缓存的区别?缓存是什么? A:缓存,在某个方面简单的说,就是无需与数据库再次交互. 静态缓存: 即所说的html,shtml文件. 动态缓存:即所说的把缓存存于服务器的内存中,需要时调用. 他们的区别在哪呢? 静态缓存不用占用负载(服务器的内存),但需要占用服务器的空间(因为生成很多文件),最重要的,是因为生成了静态的缓存

WEB设计技巧:Web开发中经常使用的网站和Web App

文章描述:Web用户体验师Jake Rocheleau撰写了一篇文章分享他在Web开发中经常使用的网站和Web App,其中包含各类字体库.代码库.插件库.配色方案和测试工具.他同时指出,Web开发环境将慢慢转向云端. Web用户体验师Jake Rocheleau撰写了一篇文章分享他在Web开发中经常使用的网站和Web App,其中包含各类字体库.代码库.插件库.配色方案和测试工具.他同时指出,Web开发环境将慢慢转向云端. CodeVisually是一个开源项目.在它的分类目录下有各种插件.

网站开发中, php所扮演的角色,以及与其他语言,工具或库的关系,这个问题很重要

问题描述 网站开发中, php所扮演的角色,以及与其他语言,工具或库的关系,这个问题很重要 网站开发中, php所扮演的角色,以及与其他语言,工具或库的关系,这个问题很重要 解决方案 php是一种web脚本语言,它主要用来编写应用层.web应用层需要iis或者apache这样的web服务器去执行.只使用php其实也可以开发一个完整的服务器端程序了.如果你希望一部分业务放在客户端执行,那么需要用js脚本.如果你希望调用一些别的语言的库,或者出于性能的优化,可以用C++写dll,用php模块加载.

SharePoint 2013 App开发中自定义网站栏,内容类型及列表

打开vs2012新建项目. 开发中自定义网站栏,内容类型及列表-sharepoint自定义列表"> 选择Sharepoint hosted模式. 一个app开发的项目就创建好了. 创建网站栏 1.右键项目>添 加>新建项>Site column 创建一个网站栏 2.在element.xml中添加以下 字段. <?xml version="1.0" encoding="utf-8"?> <Elements xmlns

Wap流量统计开发中使用Cache心得

在<他舅网wap流量统计分析平台>开发中为了提高系统的性能,我们利用Cache来保存数据,例如把 用户的一些权限信息放在Cache中,但这样做会有些问题,何时清除Cache与数据保持同步,下面我在项目 中使用Cache的心得,与大家分享. 一.利用CacheDependency类 它在命名空间System.Web.Caching中.CacheDependency类会与文件之间建立依附性关系.在文件更改 时,该Cache项会自动移除. 方法: 把用户权限信息保留成XML文件,当管理员更新数据时,

PHP网站开发中常用的8个小技巧

 这篇文章主要介绍了PHP网站开发中常用的8个小技巧,本文讲解了命名.使用.PHP判断Form表单是否提交.PHP 获取字符串长度.PHP超全局对象等内容,需要的朋友可以参考下     PHP是一种用于创建动态WEB页面的服务端脚本语言.如同ASP和ColdFusion,用户可以混合使用PHP和HTML编写WEB页面,当访 问者浏览到该页面时,服务端会首先对页面中的PHP命令进行处理,然后把处理后的结果连同HTML内容一起传送到访问端的浏览器.但是与ASP或 ColdFusion不同,PHP是一

jsp-请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的?

问题描述 请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的? 如题,请问JSP开发中多媒体网站,上传的视频是如果做到视频缩影的? 解决方案 调ffmpeg 获取视频关键帧,作为缩略图 解决方案二: 缩影是什么意思?是压缩么,如果是的话用h.264编码压缩 解决方案三: 用过一个叫CK Player的一个插件,网页视频播放器,挺好用的可以去看看 解决方案四: 上传的视频是如果做到视频缩影 不懂也问问

关于网站开发中浏览器兼容性问题

中介交易 SEO诊断 淘宝客 云主机 技术大厅 网站开发中,对于前端工程师而言,网站样式的兼容性往往很让人头疼,特别是在本国国情的情况下,IE6的不死以及各家IT公司的浏览器兼容性存在差异的情况下,让网站开发在浏览器兼容性方面摔了大跟头. 开发人员往往会看到一些比较好的值得我们借鉴的国外网站,但是一拿到本地,各种浏览器的不兼容,迫使我们放弃这些华丽的好站.今天我来给大家解析下市场的各种浏览器以及我们在网站开发当中值得注意的地方. 先说主浏览器,目前国内主浏览器依旧以IE为主,那么IE6.7.8其