数据库囤积和缓存有什么区别?他们在我看来是一样的。我知道在设备与服务器断开连接时,囤积与使用数据库有关。缓存对此没有帮助吗?有什么区别?
4 回答
当与服务器的连接性很强时,就会进行囤积。在这个阶段,客户端变得积极并根据用户访问模式预取数据。另一方面,缓存与连接性无关,它是在本地对经常使用的数据执行的操作。
缓存更适合按需请求,您可以在其中缓存缓存未命中所需的数据。它通常会存储在内存中并在一段时间后清除,以避免过时的数据无法让您在断开连接模式下操作。另一种选择更适合断开模式,通过将所需数据预取到本地缓存中,并且在某些实现中会尝试使其与远程数据库保持同步。这样您仍然可以在断开连接模式下操作,但您可能会看到陈旧的数据。
您可以在 IMDG(内存数据网格)中考虑相同的语义,其中远程客户端可以按需缓存数据或预取数据并使其与远程 IMDG 在幕后异步同步。GigaSpaces XAP 正是通过其内存数据网格提供了这种功能,第一个按需缓存概念称为本地缓存,而第二个预取概念称为本地视图,您可以在创建时指定应在幕后预加载哪种类型的数据它将与数据网格中所做的更改保持同步。
http://www.gigaspaces.com/datagrid http://www.gigaspaces.com/wiki/display/XAP9/Client+Side+Caching
艾坦
当您连接到服务器时使用囤积,并且在没有任何连接的情况下使用缓存。两者的工作方式相同:它们存储经常搜索的数据。它们存储应用程序的设备压缩数据库。
移动设备并不总是连接到服务器或网络,设备也不会从服务器或网络中为每次计算检索数据。相反,在设备连接到服务器或网络的时间间隔内,设备会缓存一些特定数据,这些数据可能需要用于未来的计算。缓存需要从具有大型数据库的连接系统中保存选定数据的副本或数据库的一部分。缓存的数据存储在移动设备数据库中。将缓存的数据囤积在数据库中,确保即使设备没有连接到网络,也可以从数据库中获取所需的数据进行计算。
囤积的一些例子是下载的铃声、音乐等,也可以离线使用。