gpt4 book ai didi

sqlite - React Native AsyncStorage |行太大而无法放入 CursorWindow

转载 作者:行者123 更新时间:2023-12-04 12:40:03 35 4
gpt4 key购买 nike

我正在使用 AsyncStorage在 ReactNative 中在设备上存储一些数据(大尺​​寸>2MB),然后用下面的代码读取它

try {
const value = await AsyncStorage.getItem('date_stored_copy');
} catch (e) {
console.log(e);
}

我收到以下错误:

Row too big to fit into CursorWindow requiredPos=0, totalRows=1...



有什么办法可以增加 CursorWindow 的大小,或者 AsyncStorage 的另一种选择?

最佳答案

另一种解决方案是将数据分成块然后写入。
我写了一个使用 AsyncStorage 的包装器来做到这一点:https://gist.github.com/bureyburey/2345dfa88a31e00a514479be37848d42
请注意,它最初是为与 apollo-cache-persist(apollo-client 的持久性库)一起使用而编写的。
由于 graphql 将数据存储在非常扁平的结构中,因此该解决方案开箱即用。
对于您的情况,如果您存储的对象如下所示:

{
data: { a lot of data here }
}
那么它不会有太大关系并且包装器将不起作用
但是如果你的对象看起来像这样:
{
someData: { partial data },
someMoreData: { more partial data },
....
}
那么理论上它应该可以工作。
完全披露:我还没有对其进行彻底的测试,并且只将它与 apollo-cache-persist 一起使用

关于sqlite - React Native AsyncStorage |行太大而无法放入 CursorWindow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57014171/

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