我正在使用 ASP.NET/C# 开发一个 Web 应用程序,该应用程序需要可扩展以处理高用户负载(可能会在 Web 场中运行)。由于它将迎合大量用户,大约 100 万以上,但在线用户数量将在 30K-50K 左右。我打算使用缓存(基于提供程序),并且想知道:
缓存所有用户以提高性能是个好主意吗?我计划缓存所有其他通用数据,例如设置等,但是将所有用户缓存在内存中的效率如何?如果用户更改了他/她的个人资料,我将仅在缓存中重新加载该特定用户(拥有所有用户的集合)。对这种方法有什么建议吗?
使用上述用户缓存时,我是否需要担心锁定?只有一个编辑配置文件的人是用户自己,这将是一个原子操作,尽管在不同的线程中会有多个读取操作。因此,在从缓存中获取用户或更新特定用户时,我应该使用锁吗?
谢谢
阿西夫