利用数据缓存机制提高智能设备应用程序的数据访问性能
来源:互联网 发布:社交数据统计 编辑:程序博客网 时间:2024/06/06 10:53
刚看了 Chris Tacke 的《Improving Data Access Performance with Data Caching》一文,回想起以前做过的一些项目,对数据缓存在提高数据访问性能方面的作用颇有感受,跟大家分享一下。
我们在开发 MIS 项目时,要跟各种业务和数据在打交道。其中数据可以根据它们的用途,分为业务数据和参考数据两种。业务数据是业务的信息载体,如:采购进货单、销售出货单、盘点单等。参考数据是业务数据组成部分,如:度量单位、颜色、城市等。参考数据在英文里面通常叫 Lookup Data 或 Reference Data,它们是在系统中使用频率很高的一类数据。因此,这类数据的访问性能将会影响整个系统的用户体验。那么,如何提高 lookup data 的访问性能呢?
Chris Tacke 在他的文章中分析了三种数据访问方式。前两种访问方式差不多,主要区别在于:第一种在每次访问数据库时都会打开和关闭数据库连接;而第二种是在系统缓存一个数据库连接对象,每次使用后不关闭它。我相信大家都会认为第二种方式在频繁访问数据库时性能更优,因为打开一个数据库连接是比较耗系统资源的。然而结果却让人出乎意料,这两种方式的性能很接近,甚至第二种方式性能还更好。
测试结果1:
Device
Processor
Mean Execution (ms)*
OLDI SAM-L8
800MHz Geode x86
7.5 to 9.5
iCOP eBox 2300
200MHz Vortex86
47 to 52
Dell Axim x51
416MUz Intel PXA270
38 to 62
测试结果2:
Device
Processor
Mean Execution (ms)
OLDI SAM-L8
800MHz Geode x86
7.1 to 14.8
iCOP eBox 2300
200MHz Vortex86
51 to 52
Dell Axim x51
416MUz Intel PXA270
43 to 61
第三种方式利用数据缓存机制,在第一次获取数据时,将数据加载到一个Hashtable中,然后再返回。以后就直接从缓存获取数据。第三种方式的性能跟前面两种相比差了十万八千里呀!
测试结果3:
Device
Processor
Mean Execution (ms)
OLDI SAM-L8
800MHz Geode x86
0.0193 to 0.0201
iCOP eBox 2300
200MHz Vortex86
0.1014 to 0.1164
Dell Axim x51
416MUz Intel PXA270
0.0975 to 0.1437
Chris Tacke 的文章还提供示例代码和PDF格式下载:
Download the Source Code
Download the PDF
另外,Chris Tacke 说他们在那个项目中还开发了一个运行在 Windows CE 的轻量级 ASP.NET Web 服务器,用来展现报表,在后续文章中会详细介绍它的实现,期待ing...
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- 利用Cache缓存数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能
- 利用Cache缓存数据DataTable数据提高大数据量访问性能(转贴)
- 提高应用程序的性能----全局应用程序缓存
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 提高abap数据访问性能的几篇文章的连接
- 利用UIDevice及NSLocale访问设备数据
- 开发直接访问SQL Server的智能设备应用程序
- 巧用缓存提高ASP应用程序的性能
- 使用缓存计算来提高应用程序的性能
- Struts2:类型转换之批量封装Set集合类型的属性
- Long Distance Relationships
- 变态市场经济下的变态旅游——从九寨沟旅游说起
- 制作PHP留言本全过程[图]-数据库设计
- Java导入包的快捷键
- 利用数据缓存机制提高智能设备应用程序的数据访问性能
- [转]随机整数的生成(java)
- 开始上传每日听力练习
- 幽默:一只IT狗的职场经历
- 利用servlet创建session,并设置权限
- 安家啦!~~~~~~~
- 20070924听力原文
- 九寨沟旅游线路的“黑幕”操作揭密
- 随机生成字母数字验证码,可定义验证码的长度