缓存ASP.NET中的所有用户

前端之家收集整理的这篇文章主要介绍了缓存ASP.NET中的所有用户前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在ASP.NET / C#中的一个Web应用程序工作,它需要可扩展才能处理高用户负载(可能会在一个Web场中运行).由于它将迎合大量的用户,大约100万加,但在线用户数量将在30K-50K左右.我打算使用缓存(基于提供者),并且想知道:

>缓存所有用户性能是一个好主意吗?我计划缓存所有其他通用数据,如设置等,但是如何高效地将所有用户缓存在内存中?如果用户更改他/她的个人资料,我将只重新加载缓存中的特定用户(拥有所有用户的集合).关于这种方法的任何建议?
>使用上述用户缓存时,是否需要担心锁定?只有一个编辑配置文件将是用户自己,这将是一个原子操作,尽管在不同的线程中将有多个读取oeprations.所以在从缓存中取出用户或更新一个特定用户时,应该使用锁定吗?

谢谢

阿西夫

解决方法

将全局缓存中的任何东西放在唯一对单个用户有用的东西通常是一个坏主意和一个性能杀手.优化您的数据库查询,您将会变得更好.

作为一般的经验法则,您应该只保留从数据库获取的高速缓存中的数据,并且多个用户将一次看到该信息.如列表中的前100名产品或其他东西.从数据库获取相对便宜的少量数据,只对单个人有用的数据应该保留在它们的位置.

缓存增加了复杂性,在网络农场中更是如此.不要引入不必要的复杂性,除非你绝对必须.等到你有一个实际的性能问题,然后再尝试解决它.

猜你在找的asp.Net相关文章