Google chrome extension Chrome扩展数据库存储

Google chrome extension Chrome扩展数据库存储,google-chrome-extension,Google Chrome Extension,我正在开发一个页面操作扩展,希望存储所有扩展用户都可以访问的信息。信息将是key:value对,其中key是一个web url,value是一个链接数组 我必须能够在不将扩展重新部署到chrome商店的情况下更新数据库。我应该研究使用什么?存储API似乎面向用户数据,而不是应用程序存储并由开发人员更新的数据 如果您希望在不通过CWS部署更新版本的情况下更新某些内容,则需要自己将数据托管在某个地方,并让扩展查询它 使用chrome.storage.local作为上述数据的缓存是完全合适的。这个问题

我正在开发一个页面操作扩展,希望存储所有扩展用户都可以访问的信息。信息将是key:value对,其中key是一个web url,value是一个链接数组


我必须能够在不将扩展重新部署到chrome商店的情况下更新数据库。我应该研究使用什么?存储API似乎面向用户数据,而不是应用程序存储并由开发人员更新的数据

如果您希望在不通过CWS部署更新版本的情况下更新某些内容,则需要自己将数据托管在某个地方,并让扩展查询它


使用
chrome.storage.local
作为上述数据的缓存是完全合适的。

这个问题相当广泛,所以我会给你一些我以前做过的想法

因为您说不想在数据库更改时重新发布,所以您需要自己存储数据库的数据。这并不意味着您需要存储一个实际的数据库,只是扩展获取数据的一种方式

理想情况下,您只需添加新对。如果是这样的话,一个简单的方法就是将你的配对存储在一个公共的谷歌电子表格中。然后,扩展将记住最后一个同步的行,并使用行提要以增量方式获取数据。 有一些技巧可以使电子表格同步正确。请查看我的github“trello的plus”,了解完整的实现。 这是一种增量同步的好方法,如果数据库不是很大,您可以托管一个csv文件并定期从扩展名获取它


现在您可以将数据放入扩展中,决定如何存储它。chrome.storage.local或indexedDb应该可以,因为indexedDb通常最适合以后查询更复杂的内容,而不仅仅是哈希表。

使用chrome.storage.local作为缓存可以实现什么?每次需要一个值时查询外部托管的数据库可能会非常昂贵,就托管成本和get操作的延迟/可靠性而言。一个好的策略是在本地缓存结果,比如说半小时。或者,有一个单独的查询结果的“版本”的数据库,并更新本地缓存,如果这一变化。数据库不是大的,托管的csv文件将是最好的。我想知道如何将数据从托管CSV获取到扩展,以及如何将该数据存储在本地存储中。你能详细说明一下初学者是如何做到这一点的吗?我应该读些什么?谷歌如何解析csv。否则使用更简单的格式,如json。了解localStorage、chrome.storage、infexedDb及其优缺点。