【发布时间】:2012-06-15 10:08:32
【问题描述】:
由于我没有错误,我不知道这是不是问这个问题的正确地方,如果不是,请指点我到正确的论坛。无论如何...
我正在处理一个社交网络项目,现在它运行速度非常慢,有些页面需要 5 到 15 秒才能加载。有一个“缓存”结构,但无论谁这样做,都没有使用已经从 c# .net 构建 Cache,而是创建了一个静态 List<object> 作为系统的缓存。连tightt都不对,我可以处理...
问题是,在每个页面请求上,我都必须从这个 cache 加载用户数据,这个 cache 非常大,而且用户结构也非常大,所以我想知道,而不是从每次请求页面时都缓存我将创建一些会话,其中包含每个页面需要的最常用数据,例如照片、姓名、昵称、id,而不是当我需要从用户那里加载不常见的任何其他类型的数据时,我从缓存中请求它...
我不知道这是否是正确的方法,也不知道这是不是问这个问题的正确地方,但我真的需要非常糟糕地解决这个问题。所以我想从这里的专家那里得到一些建议。
【问题讨论】:
-
是否有数据库存储所有这些数据?如果是这样,并且它是一个不错的数据库引擎,并且位于本地网络上,我相信它会为您将数据缓存在内存中。当数据库引擎已经在自己缓存它并且可能更有效时,您没有理由自己缓存它。
-
请发布您从“静态列表
-
是的,有一个数据库 MsSql Server 我认为从服务器缓存中获取它比从数据库中获取它要快得多,不是吗?这是它的屏幕。由于realations没有出现,我现在不知道为什么,希望你能理解[link]imageshack.us/photo/my-images/689/databasee.jpg
-
嘿@Blam 我会尝试在此处发布代码,但由于它不仅是一个类,我想我不能。加载方法加载“每种类型的项目”让我们这样说......用户是一种类型的项目,并且有自己的唯一 ID,所以我将 ID 传递给方法,然后我给我带来了一个包含项目每个数据的对象我刚刚通过...负载的作用是,从缓存中获取,如果不在缓存中,则从数据库中获取,插入缓存,返回数据...
-
好的,我会尽快发布答案
标签: c# .net performance caching