【发布时间】:2011-07-16 09:32:30
【问题描述】:
为了让 Web 应用程序更快,我想实现缓存。有一个具有不同元素列表的类,我想在缓存中保留它们,因为大多数信息对于每个用户(全局)都是相同的。但是在元素上是一些用户特定的信息,我必须存储并保持快速访问(会话?)。
我正在考虑某种与缓存和会话的组合,但我认为这是不可能的?该信息用于许多不同的地方,这就是为什么我希望将这些信息尽可能地放在一起。 有人对这个问题有好的解决方案吗?
【问题讨论】:
为了让 Web 应用程序更快,我想实现缓存。有一个具有不同元素列表的类,我想在缓存中保留它们,因为大多数信息对于每个用户(全局)都是相同的。但是在元素上是一些用户特定的信息,我必须存储并保持快速访问(会话?)。
我正在考虑某种与缓存和会话的组合,但我认为这是不可能的?该信息用于许多不同的地方,这就是为什么我希望将这些信息尽可能地放在一起。 有人对这个问题有好的解决方案吗?
【问题讨论】:
虽然没有内置方法可以同时组合使用它们,但您可以编写包装类,该类从两个部分获取全部信息,例如:
class Information
{
public string UserName { get { return this.GetFromSession("UserName"); } }
public string WebSiteName { get { return this.GetFromCache("WebSiteName"); } }
private string GetFromSession(string key)
{ /* get information from session */ }
private string GetFromCache(string key)
{ /* get information from cache */}
}
然后你就可以使用:
Information info = new Information();
Response.Write(info.UserName);
Response.Write(info.WebSiteName);
这有帮助吗?
【讨论】: