aspnet 中全局变量的缓存或共享 class
cache or shared class for global variables in aspnet
缓存和共享 classes 是应用程序范围的。我知道一些细节,但这是场景:
我将参数保存在数据库中。
我将它们读取到数据表并将它们存储在缓存中。
每当我需要将缓存变量直接投射到数据表时,查询它并获得结果。
所以我不是每次都使用 sql 服务器。
备选方案是:
读取数据库并将其存储在 class 共享变量中
每当需要时,我都会使用这个共享变量(数据表)并查询它。
如果这个变量为空,我从数据库中填充 ilt。
由于变量是数据表,我继续需要直接转换它。
首选哪一个?或者我可以使用它们中的任何一个吗,因为它们没有区别。
这个class不是特别的。只包含从数据库中读取参数的函数。为了加快速度,我开始使用 aspnet 缓存,但我注意到我不需要这样做,因为 class 变量可以处理它。
有什么建议吗?您能想到这种情况下仅适用于不会更改的参数的任何可能结果吗?
class Class1
private shared localVar as datatable
public shared function readParam1 as string -- this is my old method
... SELECT from params table
return value
end function
public shared function readParam2 as string -- then I implemented this
if httpcontext.cache variable is empty then
... SELECT from params table
... set cache variable
end if
value = directcast(cachevalue, string)
return value
end function
public shared function readParam3 as string -- now I'm planing to use this
if localVar is empty then
... SELECT from params table
... slocalVar = sql table
end if
value = select value with localVar.Select function
return value
end function
end class
共享变量是赢家:
1.它们会比缓存快一点,因为缓存需要查找字典。
2. 它们更具可读性,更易于使用
事实上我不记得用于缓存。因为缓存中存储的任何内容都是共享数据,所以?事实上,我对这个问题很好奇,我将打开新的 Whosebug 问题:asp.net shared variables vs cache
缓存和共享 classes 是应用程序范围的。我知道一些细节,但这是场景:
我将参数保存在数据库中。 我将它们读取到数据表并将它们存储在缓存中。 每当我需要将缓存变量直接投射到数据表时,查询它并获得结果。 所以我不是每次都使用 sql 服务器。
备选方案是: 读取数据库并将其存储在 class 共享变量中 每当需要时,我都会使用这个共享变量(数据表)并查询它。 如果这个变量为空,我从数据库中填充 ilt。 由于变量是数据表,我继续需要直接转换它。
首选哪一个?或者我可以使用它们中的任何一个吗,因为它们没有区别。
这个class不是特别的。只包含从数据库中读取参数的函数。为了加快速度,我开始使用 aspnet 缓存,但我注意到我不需要这样做,因为 class 变量可以处理它。
有什么建议吗?您能想到这种情况下仅适用于不会更改的参数的任何可能结果吗?
class Class1
private shared localVar as datatable
public shared function readParam1 as string -- this is my old method
... SELECT from params table
return value
end function
public shared function readParam2 as string -- then I implemented this
if httpcontext.cache variable is empty then
... SELECT from params table
... set cache variable
end if
value = directcast(cachevalue, string)
return value
end function
public shared function readParam3 as string -- now I'm planing to use this
if localVar is empty then
... SELECT from params table
... slocalVar = sql table
end if
value = select value with localVar.Select function
return value
end function
end class
共享变量是赢家: 1.它们会比缓存快一点,因为缓存需要查找字典。 2. 它们更具可读性,更易于使用
事实上我不记得用于缓存。因为缓存中存储的任何内容都是共享数据,所以?事实上,我对这个问题很好奇,我将打开新的 Whosebug 问题:asp.net shared variables vs cache