c# - 非常慢的性能结构

标签 c# .net performance caching

因为我没有错误,所以我不知道这里是否是提出这个问题的正确地点,如果不是,请将我指向正确的论坛。无论如何...

我正在做一个社交网络项目,现在它运行得非常慢,有些页面需要 5 到 15 秒才能加载。有一个“缓存”结构,但无论是谁做的,都没有使用已经构建在 Cache 中相反,他们从 c# .net 创建了一个静态 List<object>作为系统的缓存。即使是 tought 也不对,我可以处理...

问题是,在每次页面请求时,我都必须从这个 cache 加载用户数据它很大,用户结构也很大,所以我想知道,不是每次请求页面时都从缓存中加载用户数据,而是创建一些 session ,其中包含每个页面所需的最常用数据,例如照片、姓名、昵称、ID,以及当我需要从不常见的用户加载任何其他类型的数据时,我从缓存中请求它...

我不知道这是否是正确的方法,也不知道这是不是问它的正确地方,但我真的非常需要解决这个问题。所以我想听听专家们的一些建议。

最佳答案

部分性能问题可能是需要扫描缓存中的项目。字典可能更好,因为您可以按键检索项目。这是一个更接近 native 缓存结构的实现。

session 不利于网站的可扩展性。如果您计划将其与 facebook 或其他东西一样大,那么使用 session 进行缓存会要了您的命

请参阅其他相关问题:

What is a good way to store large temporary "session" data in a web application

还有一个不错的问题

Why is it a bad idea to use Session to store state in high traffic websites?

关于c# - 非常慢的性能结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10998138/

相关文章:

c# - 有什么方法可以缩短或简化转发器控件的项目模板标记?

javascript - 绘制多条任意线是过于昂贵的 EaselJS

使用 FULLTEXT 索引的 MySQL 查询速度慢

c# - 方法定义参数中的赋值运算符 (=)

c# - 为什么在使用泛型时这个静态变量不会增加?

c++ - 64 位模运算的奇怪性能行为

c# - 有什么方法可以通过文本输入即时过滤 GridView 吗?

c# - 如何使用漩涡哈希检查文件哈希?

c# - JWT Token 访问 AuthenticatedUser

c# - 如何从 C# 中的 resx 中删除资源条目?