Chrome.Storage.Sync 的存储配额?
Storage Quota for Chrome.Storage.Sync?
我的扩展程序将使用 Chrome.Storage.Sync.Set
将这样的数据保存在一个字符串中,然后我将用 regex/something 解释类似:
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
我希望将所有保存的数据放在一个存储项目中。即:
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
此页面 here 表示,对于每个“同步存储中的单个项目,根据其值的 JSON 字符串化加上其密钥长度来衡量。”,大小限制为 8,192 字节。 据任何人所知,我是否有可能超出限制?假设我有 40 个 ID..
是的。是的,你很可能会翻过 limit。您当前的示例具有 4 个 ID,大约为 0.5 KB。所以你 运行 已经有 64 个了。
那么您的 set
操作将失败,并且在您的回调中 chrome.runtime.lastError
将被设置为:
chrome.storage.sync.set(data, function() {
if(chrome.runtime.lastError) {
// Uh-oh..
}
});
请注意:
- 如果您真的不需要跨设备同步所有这些数据,请使用
chrome.storage.local
。它有 5,242,880 字节的更慷慨的配额..
- ..如果您请求
"unlimitedStorage"
许可,它会被删除。
正如 Google 文档以一种半开玩笑的方式所说:
chrome.storage
is not a big truck. It's a series of tubes. And if you don't understand, those tubes can be filled, and if they are filled when you put your message in, it gets in line, and it's going to be delayed by anyone that puts into that tube enormous amounts of material.
同步存储需要 Google 基础设施的支持 - 他们不愿意无限量免费提供。
- 将所有这些数据都放在存储中是非常无效的。对其进行分析,并存储分析结果 - 您将在存储中获得更清晰的数据。
P.S。 HTML is not a regular language.
我的扩展程序将使用 Chrome.Storage.Sync.Set
将这样的数据保存在一个字符串中,然后我将用 regex/something 解释类似:
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
我希望将所有保存的数据放在一个存储项目中。即:
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
<ID>TEXTBOX</ID><STYLE>BORDER:1PX SOLID BLACK; BACKGROUND-COLOR:YELLOW;
FONT-SIZE:18PX; FONT-FAMILY:ARIAL</STYLE><OTHER></OTHER>
此页面 here 表示,对于每个“同步存储中的单个项目,根据其值的 JSON 字符串化加上其密钥长度来衡量。”,大小限制为 8,192 字节。 据任何人所知,我是否有可能超出限制?假设我有 40 个 ID..
是的。是的,你很可能会翻过 limit。您当前的示例具有 4 个 ID,大约为 0.5 KB。所以你 运行 已经有 64 个了。
那么您的 set
操作将失败,并且在您的回调中 chrome.runtime.lastError
将被设置为:
chrome.storage.sync.set(data, function() {
if(chrome.runtime.lastError) {
// Uh-oh..
}
});
请注意:
- 如果您真的不需要跨设备同步所有这些数据,请使用
chrome.storage.local
。它有 5,242,880 字节的更慷慨的配额.. - ..如果您请求
"unlimitedStorage"
许可,它会被删除。 正如 Google 文档以一种半开玩笑的方式所说:
chrome.storage
is not a big truck. It's a series of tubes. And if you don't understand, those tubes can be filled, and if they are filled when you put your message in, it gets in line, and it's going to be delayed by anyone that puts into that tube enormous amounts of material.同步存储需要 Google 基础设施的支持 - 他们不愿意无限量免费提供。
- 将所有这些数据都放在存储中是非常无效的。对其进行分析,并存储分析结果 - 您将在存储中获得更清晰的数据。
P.S。 HTML is not a regular language.