gpt4 book ai didi

.net - 客户端缓存 C#

转载 作者:行者123 更新时间:2023-12-02 02:11:13 24 4
gpt4 key购买 nike

我的 wpf 客户端在启动时从服务器加载大量常备数据。所以,我想在客户端实现缓存策略。

我知道 .NET 框架 4 中新的 System.Runtime.Caching 命名空间。不幸的是,只有内存缓存。我不想在客户端每次启动时加载大量数据。所以我正在寻找持久的客户端缓存。

你怎么看?

另一个想法是我使用 OODB(如 db4o 或 VelocityDB)进行客户端缓存。这是一个坏主意吗?我在客户端缓存方面没有任何经验。

感谢您的回答和建议。

亲切的问候,亲

最佳答案

您如何在客户端存储数据并不重要。不过,我会出于您的目的研究 IsolatedStorage。可能更困难的是判断缓存何时过时。这其实就是 System.Runtime.Caching 擅长的。服务器数据是否完全改变,还是仅在应用程序的新版本发布后才改变?如果数据仅在新版本发布后发生变化,您可能希望将其作为资源包含到应用程序设置中。如果没有,您必须有一些超时或信号来告诉客户端是时候检查服务器上更改的数据了。您是否已经考虑过延迟加载数据?这样,延迟可能不会全部发生在应用程序启动时,并且不会那么明显,而且您甚至可能不必将完整数据加载到客户端。

关于超时:在我们的应用程序中,我们有一个固定的超时,它在首次加载时为每个引用列表设置,并且每次从缓存中请求它时,都会检查该超时。如果它已过期,则在返回列表之前透明地刷新缓存。这是一种权衡,因为客户端的数据可能会过时一段时间。我们接受这一点,因为它在我们的案例中并不重要,这样每个列表都对自己负责,我们不需要中央注册表来跟踪每个列表的状态以便从外部设置超时。

关于.net - 客户端缓存 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12702950/

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