gpt4 book ai didi

c# - 在内存数据缓存中提高 .Net 应用程序的性能

转载 作者:行者123 更新时间:2023-11-30 12:36:21 25 4
gpt4 key购买 nike

我们有一个应用程序(规则引擎)在内存中有很多表来执行某些业务规则。该引擎还用于在需要时写回数据库。

数据库结构是非规范化的,我们有 5 个事务表,有时也需要查询这些表以进行报告。

这里的问题是,我们想在应用程序中缓存数据,所以它会在应用程序启动时加载,然后只有在数据库发生变化时才会发生变化。

有什么建议吗?

我们倾向于创建一个数据库服务,它将处理所有插入、更新和删除,并将它们排队以减少数据库服务器上的负载(事务表也有索引负载)。此外,我们正在考虑让数据库服务位于顶部并为所有需要直接数据库访问的报告/其他应用程序提供服务。

当然,这里的目标是减少每个请求的 Select 查询的 DB 命中,并确定事务的优先级。还要确保访问应用程序的人不会导致数据库服务器宕机。

规则引擎是一个 C# 桌面应用程序,报告和其他应用程序都是基于网络的。

解决此问题的最佳方法是什么?我也确实考虑过从我的事务表中删除所有索引,并将触发器插入到一个新表中,该表将是一个副本,但为报告检索编制了索引。

最佳答案

您或许应该看看分布式缓存解决方案(从性能和可伸缩性的角度来看)。简而言之,我正在考虑由分布式缓存支持的可扩展数据库服务(以便多个数据库服务由同一缓存提供服务)。

这是 article其中讨论了分布式缓存,包括各种数据库同步方法。这是 blog该帖子列出了 .NET 中用于分布式缓存的几个选项。

关于c# - 在内存数据缓存中提高 .Net 应用程序的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com