欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

27. 在lotus notes中缓存视图中的配置数据拔高性能

更新时间: 2014-01-05 03:00:49 责任编辑: Author_N1

 

27. 在Lotus Notes中缓存视图中的配置数据提高性能

一个Lotus Notes应用中常常有各种配置数据保存在专门的视图中。由一个关键字和一个值组成的键—值对,是最常见的形式之一。在程序中使用到它们的时候,可以很方便地通过NotesView. GetDocumentByKey之类的方法或者自定义的函数获取。但是在有些情况下,需要频繁地读取这些配置数据很多次。比如在一个代理中需要根据配置文档中的不同币种的汇率,计算上万条文档中的某个金额时。这时为了提高效率就可以提前将币种和汇率读取到内存中,以后用到的时候便可以免去大量的视图查找和读取文档域值的操作。如下面这个函数所示:

%REM
	Description: Put keys & values from a view into a dictionary
%END REM
Public Function CacheKeyValues(viewName As String, keyField As String, valueField As String)As Dictionary
	Dim dic As New Dictionary
	Dim s As New NotesSession
	Dim view As NotesView
	Set view=s.Currentdatabase.Getview(viewName)
	Dim doc As NotesDocument
	Set doc=view.Getfirstdocument()
	Do Until doc Is Nothing
		Call dic.Add(doc.Getitemvalue(keyField)(0), doc.Getitemvalue(valueField)(0))
		Set doc=view.Getnextdocument(doc)
	Loop
	Set CacheKeyValues=dic
End Function
函数的参数中,viewName是从中获取数据的视图名,keyField是保存“键”的字段名,valueField是保存“值”的字段名。返回的Dictionary是在5. 面向对象的LotusScript(一)之Dictionary一文里给出的自定义类,可以通过Contains,Item等方法查询和获取某个关键字的数据。

上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:00:49
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/17259/
本文WWW.DOC100.NET DOC100.NET版权所有。