关于web开发中页面依赖缓存的应用.txt
2011-03-21 17:37
357 查看
现状:
我们一般都是在业务中来缓存数据,比如投票数据。
我们一般在数据层使用缓存,比如 城市信息表。
我们一般在视图层使用缓存,比如页面输出缓存
问题:
业务中使用缓存,使用难度大,控制复杂
数据层使用缓存,使用简单,但能使用范围小,使用不当很容易造成数据滞后
视图层使用缓存,设置时间量缓存,使用简单,但能使用范围小,使用不当也很容易造成数据滞后
分析:
我们需要一个什么样的缓存系统呢?
我是这样想的,应该能有一个半自动的缓存系统,不用我自己写逻辑去控制缓存什么时候使用,什么时候更新,什么时候释放。
用户是通过页面和数据交互的,如果我将缓存放到视图层之前,那么所有用户的所有请求在交给视图层之前先由缓存系统处理,这样就不容易出现因缓存造成的数据滞后问题了。因为我的缓存控制层已经控制了所有用户的所有请求,这样缓存系统就可以根据用户请求的页面来更新其他与此页面关联的页面的缓存。
比如
A页面是添加信息页面,B页面是信息列表页面
我可在缓存系统中设置:B页面缓存会因为A页面被访问而更新,
也就是说 某个页面中的信息是与其他一个或者几个页面相关联的,如果相关联的某个页面被访问了,那么就应该更新应用此页面数据的其他页面的缓存更新,
其实在我们想在的开发中已经出现了这种预设了“数据关系”方式的缓存应用,有的应用在数据层,有的应用在业务逻辑层,我今天说的这种应用是在视图层。
一下是我对使用“数据关系”方式缓存在哪一层的利弊考虑
在数据层:数据关系易配置,但缓存数据量大,平均每个业务对应的缓存更改操作多,性能不好,并且缓存没有用到刀刃上
在业务层:不能大范围使用。由于业务层的数据关系复杂,数据关系不能或者不能正确配置
在视图层:由于缓存的就是用户要看的数据,故而缓存用到了刀刃上。页面关系配置难度不大,可大范围使用(整站使用)
当下,我也正在使用空闲时间开发这套缓存系统(.Net)。希望在我这套框架没有开发出来就已经有同类出色产品了。
我们一般都是在业务中来缓存数据,比如投票数据。
我们一般在数据层使用缓存,比如 城市信息表。
我们一般在视图层使用缓存,比如页面输出缓存
问题:
业务中使用缓存,使用难度大,控制复杂
数据层使用缓存,使用简单,但能使用范围小,使用不当很容易造成数据滞后
视图层使用缓存,设置时间量缓存,使用简单,但能使用范围小,使用不当也很容易造成数据滞后
分析:
我们需要一个什么样的缓存系统呢?
我是这样想的,应该能有一个半自动的缓存系统,不用我自己写逻辑去控制缓存什么时候使用,什么时候更新,什么时候释放。
用户是通过页面和数据交互的,如果我将缓存放到视图层之前,那么所有用户的所有请求在交给视图层之前先由缓存系统处理,这样就不容易出现因缓存造成的数据滞后问题了。因为我的缓存控制层已经控制了所有用户的所有请求,这样缓存系统就可以根据用户请求的页面来更新其他与此页面关联的页面的缓存。
比如
A页面是添加信息页面,B页面是信息列表页面
我可在缓存系统中设置:B页面缓存会因为A页面被访问而更新,
也就是说 某个页面中的信息是与其他一个或者几个页面相关联的,如果相关联的某个页面被访问了,那么就应该更新应用此页面数据的其他页面的缓存更新,
其实在我们想在的开发中已经出现了这种预设了“数据关系”方式的缓存应用,有的应用在数据层,有的应用在业务逻辑层,我今天说的这种应用是在视图层。
一下是我对使用“数据关系”方式缓存在哪一层的利弊考虑
在数据层:数据关系易配置,但缓存数据量大,平均每个业务对应的缓存更改操作多,性能不好,并且缓存没有用到刀刃上
在业务层:不能大范围使用。由于业务层的数据关系复杂,数据关系不能或者不能正确配置
在视图层:由于缓存的就是用户要看的数据,故而缓存用到了刀刃上。页面关系配置难度不大,可大范围使用(整站使用)
当下,我也正在使用空闲时间开发这套缓存系统(.Net)。希望在我这套框架没有开发出来就已经有同类出色产品了。
相关文章推荐
- React多页面应用1(webpack4 开发环境搭建,包括热更新,api转发等)
- 关于web开发中静态资源缓存机制的总结
- 关于Django Web应用架构设计开发的几个问题
- 移动Web单页应用开发实践——页面结构化
- Grails 开发Web系统:关于在gsp页面中调用CSS无效原因.
- 移动Web单页应用开发实践——页面结构化
- 18.02.10,记录maven开发bos中struts2配置问题,关于如何进行WEB-INF下页面的访问?
- 安卓开发_关于WebView加载页面空白问题
- 移动Web单页应用开发实践——页面结构化
- Portal-Basic Web 应用开发框架:应用篇(七) —— 页面静态化
- 关于新闻类android应用webview缓存的功能需求
- 关于Web开发,"新建"和"编辑"在同个页面的处理方法
- 【转】移动Web单页应用开发实践——页面结构化
- Web开发中关于缓存的使用
- Portal-Basic Java Web 应用开发框架:应用篇(七) —— 页面静态化
- 关于Django Web应用架构设计开发的几个问题
- 【转】移动Web单页应用开发实践——页面结构化
- 关于Web开发页面中图片动态变化的小问题
- 2017-6-14 关于使用history.go的问题!配合原生应用嵌入H5页面(只有一个webview的的单页应用)返回历史列表记录的问题
- 移动Web单页应用开发实践——页面结构化