我必须执行长时间运行的PL/SQL查询,并需要将结果集存储在某处并用于UI请求。一段时间后需要自动/手动刷新它。 会有多个结果集需要以相同的方式处理。每个结果集都会有数百万条记录。 我的项目使用AngularJS和Web API。 我使用ADO.net与Oracle客户端,而不是实体框架。C#在哪里缓存大数据表
我的感觉是,.net MemoryCache不适合,因为结果集和大小的数量会不断增加。
我打算将它缓存在MongoDb中。有没有其他解决方案,你建议?
谢谢
我必须执行长时间运行的PL/SQL查询,并需要将结果集存储在某处并用于UI请求。一段时间后需要自动/手动刷新它。 会有多个结果集需要以相同的方式处理。每个结果集都会有数百万条记录。 我的项目使用AngularJS和Web API。 我使用ADO.net与Oracle客户端,而不是实体框架。C#在哪里缓存大数据表
我的感觉是,.net MemoryCache不适合,因为结果集和大小的数量会不断增加。
我打算将它缓存在MongoDb中。有没有其他解决方案,你建议?
谢谢
你的问题说:“每一个结果集将有百万条记录”
在这种情况下, 缓存服务器是不是一个好主意。即使分布式缓存可能会导致性能问题。
返回结果如果您不能插入在Oracle中创建专用物理表来存储你的结果
即使您从Web API返回数百万或记录,角度应用程序也应处理所有数据。这可能会导致长时间运行JavaScript和客户端性能。
实际上,不需要将完整的结果集返回给UI。结果集将被过滤为UI请求。 – Bala
[Redis](http://redis.io/)呢? –
为什么不直接向UI请求提供查询? – Paparazzi
你是否真的打算为UI请求提供数百万条记录?可能不会,在这种情况下,您可能会考虑使用专门为此目的而设计的Oracle物化视图。 – mustaccio