首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >建议在deepstream.io中使用记录

建议在deepstream.io中使用记录
EN

Stack Overflow用户
提问于 2016-03-29 16:20:44
回答 1查看 584关注 0票数 0

我最近一直在使用记录,对于json结构的总体大小,我不确定实际的限制。是否有任何推荐的最大长度,例如,您是否可以将整个聊天历史存储为(匿名)记录,可能有数百条单一条目?

json文档结构可能如下所示:

代码语言:javascript
复制
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
});

因此,这里有一个问题:就大小而言,记录是这样一个问题的适当解决方案,还是使用lists/RPC更合适?

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-11 05:39:27

每条消息有一个4MB的硬限制,但即使是最长的聊天历史,这也应该足够。问题更多的是,记录是深流中的原子单元--这意味着您不能加载半条记录(但是,它们发送增量进行更新)。当谈到存储(可能很长)聊天历史时,我认为有两种选择:

( A)如果您的消息仍然是可变的(例如,用户可以在消息发送后编辑该消息),创建每条消息的记录并将记录名称存储在列表中。有一个关于添加分页以使处理大型列表更有效的公开发行

B)如果您的聊天历史是不可变的,但您希望长期保存大量的历史记录,您可以按以下方式构建它:

  • 使用事件进行聊天消息
  • 构建一个后端进程,侦听任何聊天中的事件并将其存储在数据库中(例如,ds.event.listen( 'chat-message/(.*)', () => {} );)
  • 添加RPC以检索聊天历史记录的特定部分。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36289790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档