Javascript 建议使用deepstream.io中的记录
我最近一直在使用记录,我不确定json结构的总体大小是否存在实际限制。 是否有任何建议的最大长度,例如,您是否可以将整个聊天历史记录存储为(匿名)记录,其中可能有数百条条目 json文档结构可能如下所示:Javascript 建议使用deepstream.io中的记录,javascript,json,deepstream.io,Javascript,Json,Deepstream.io,我最近一直在使用记录,我不确定json结构的总体大小是否存在实际限制。 是否有任何建议的最大长度,例如,您是否可以将整个聊天历史记录存储为(匿名)记录,其中可能有数百条条目 json文档结构可能如下所示: var record = client.record.getRecord( 'chat/5ak1g' ); record.set({ 2016.03.25.16:22:25: { user: 'Ann', message: 'Hey, whats up
var record = client.record.getRecord( 'chat/5ak1g' );
record.set({
2016.03.25.16:22:25: {
user: 'Ann',
message: 'Hey, whats up?'
}
2016.03.25.16:22:40: {
user: 'Sue',
message: 'Wanna get some sushi?'
}
2016.03.25.16:23:10: {
user: 'Ann',
message: 'cdn.example.com/sj48s2f4.jpg'
}
//more messages
});
所以这里有一个问题:就大小而言,记录是解决此类问题的合适方法,还是更适合使用list/RPC
提前谢谢 每条消息都有4MB的硬限制,但即使是最长的聊天历史,这也应该足够了。问题更多的是,一条记录在deepstream中是一个原子单元,这意味着你不能加载半条记录(不过他们会发送增量进行更新)。在存储聊天记录(可能很长)时,我认为有两种选择: A) 如果您的邮件保持可变(例如,用户可以在邮件发送后编辑邮件),请为每条邮件创建一条记录,并将记录名称存储在列表中。有一个关于添加分页以使处理大型列表更高效的方法 B) 如果您的聊天历史记录是不可变的,但您希望长期保存大量的历史记录,您可以按如下方式构建它:
- 将事件用于聊天信息
- 构建一个后端进程,用于侦听来自任何聊天室的事件并将其存储在数据库中(例如,
)ds.event.listen('chat message/(.*),()=>{};
- 添加RPC以检索聊天历史记录的特定部分