在Firebase中存储10,000+字符串的最佳实践是什么?
long_lists/
<user1>/
string1
string2
...
string15000
<user2>/
string1
string2
...
string15000根据Firebase博客-最佳实践: Firebase中的数组的说法,数组是一个大的不-不。
现在,它看起来像是使用推()方法为每个项生成一个唯一的键(key1: string1,key2: string2,.)最有意义的是:
firebase.database().ref('long_lists/<uid>').push().key我理解这个问题看似主观的本质,但我猜想实际上只有一两种方法可以以高性能的方式为用户存储长的单一级别列表。
发布于 2017-08-02 20:21:07
TL;博士,这取决于.
我个人认为我的数据是一个复杂的对象:
firebaseKey: "abcde"
name: "test"
order: 0把它们按顺序分类。当一个对象被删除时,我保留它的原样(仍然排序),当一个对象被添加时,我增加最后一个对象的顺序(保持它仍然是排序的)。显然,当事情需要改变的时候,我会重新调整所有的指数。
尽管如此,您确实指出,您的用例每个用户的字符串超过10k。那么,如果它们没有经常被修改,甚至可能是不可变的,我会执行一个由唯一字符分隔的长字符串,并在客户端执行繁重的工作。
firebaseKey: "abcde"
value: "string1#string2#string3#string4"这样,您就可以节省您自己在防火墙存储上的空间,并让客户来完成这项工作,这将为您节省更多的资金(减少云中的空间,减少所使用的云功率)。
https://stackoverflow.com/questions/45466105
复制相似问题