gpt4 book ai didi

.net - 在 Silverlight 中维护 DB 对象的内存缓存的最佳方法

转载 作者:行者123 更新时间:2023-11-30 23:53:34 25 4
gpt4 key购买 nike

我想在 silverlight 的内存中设置数据库对象(即表中的行)的缓存,我将使用 WCF 和 linq-to-sql 来完成。一旦我将对象放入内存中,我计划使用 MSMQ 来接收被修改的新对象。这是一种有点复杂的方法,但目标是减少对数据库的访问,并允许连接到 MSMQ 的 Silverlight 应用程序之间进行即时数据通信。

我的 Silverlight 应用程序旨在长时间运行,并且要缓存的数据量不会很大。我计划使用本地存储保存内存中的缓存。

无论如何,为了处理进来的更新对象,我想知道用户是否更改了现有对象。我可以使用一些与数据绑定(bind)相关的事件来设置一个指示对象已更改的标志吗?

也许有更好的方法来完全缓存?

谢谢!

最佳答案

我认为需要进一步澄清以了解您的要求。你说的有些东西不清楚,甚至是相互矛盾的。但是,一些一般的想法:

  • 如果缓存中的数据量不大,我就不会为本地存储而烦恼——我只会将它存储在某个应用程序级别的范围内(全局变量、应用程序上下文等)。如果应用程序重新启动,则必须从数据库中重新提取缓存(我想无论如何这都是可取的)。
  • 通常,缓存的对象是只读的(用户不能更改)。如果用户确实更改了将被缓存的对象,您通常希望立即将该信息持久保存到服务器/数据库,以便其他客户端可以获取该信息。
  • 如果服务器/数据库保存“主”缓存数据,并且需要在数据更改的情况下通知客户端,silverlight 应用程序可能必须成为某种服务的订阅监听器(MSMQ 实际上可能作为后端)。如果更新不必是实时的,可以考虑缓存只是在计时器上刷新自己,每 5-10 分钟左右一次。
  • 关于.net - 在 Silverlight 中维护 DB 对象的内存缓存的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4938533/

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