c#在哪里缓存大数据表
本文关键字:数据表 缓存 在哪里 | 更新日期: 2023-09-27 18:11:26
我必须执行一个长时间运行的PL/SQL查询,需要将结果集存储在某个地方并服务于UI请求。一段时间后需要自动/手动刷新。将有多个结果集需要以相同的方式处理。每个结果集都有数百万条记录。我的项目是使用AngularJS与Web API。我使用ADO.net与Oracle客户端,而不是实体框架。
我觉得,.net MemoryCache是不合适的,因为没有。的结果集和大小将继续增长。
我计划在MongoDb中缓存它。你有什么别的解决办法吗?
谢谢
你的问题说"每个结果集将有数百万条记录"
在这种情况下,在服务器中缓存不是一个好主意。即使是分布式缓存也可能导致性能问题。
- 在oracle中创建专用的物理表来存储结果
- 加载,在需要时刷新结果表
- 从结果表中获取并返回结果
如果你不能从oracle数据库中插入/删除记录,你可能需要使用专用的应用程序数据库。
即使你从web API返回数百万或记录,angular应用程序也应该处理你所有的数据。这可能会导致长时间运行JavaScript和客户端性能。
Redis是一个很好的解决方案。查看http://redis.io/