【问题标题】:Interacting with deepstream.io records server side与 deepstream.io 记录服务器端交互
【发布时间】:2016-03-28 20:16:07
【问题描述】:

我一直在阅读deepstream.io,到目前为止,我发现了以下内容:

  1. 所有记录都存储在同一张表中(默认deepstream_records

  2. 为了与这些数据进行交互,客户端可以使用,客户端(浏览器)和服务器端(节点),但应该 不 strong> 用于服务器端(节点)。

问题:

  • 我应该如何与服务器端的记录进行交互?
  • 是否有什么阻止我更改数据库中的记录?
    • 数据库中记录的更改会更新客户端订阅吗?
    • 这会被认为是不好的做法吗?
  • 为什么所有记录都存储在同一张表中?
RethinkDB 的数据示例:
{
  "_d": { },
  "_v": 0,
  "ds_id":  "users/"
}, {
  "_d": { },
  "_v": 0,
  "ds_id":  "users/admin"
}

【问题讨论】:

    标签: node.js rethinkdb deepstream.io


    【解决方案1】:

    为什么所有的记录都存放在同一张表中?

    server.set( 'storage', new RethinkDBStorageConnector( { 
      port: 5672, 
      host: 'localhost' ,
        /* (Optional) A character that's used as part of the
        * record names to split it into a tabel and an id part, e.g.
        * 
        * books/dream-of-the-red-chamber
        *
        * would create a table called 'books' and store the record under the name
        * 'dream-of-the-red-chamber'
        */
      splitChar: '/'
    }));
    
    server.start();
    

    你没有提到 splitChar 吗? (它不是默认的)

    我应该如何与服务器端的记录交互?

    要与此数据交互,您将创建一个节点客户端,该客户端使用 tcp(默认端口 6021)连接到您的服务器。服务器本身是一个非常高效的消息代理,可以以低延迟分发消息,我们的建议是不要包含任何不必要的自定义代码,即使在使用权限和 dataTransforms 时也是如此。 https://deepstream.io/tutorials/core/transforming-data

    您可以在教程中的 FX 提供程序示例中看到这一点:

    https://deepstream.io/tutorials/core/active-data-providers

    以及坦克游戏教程示例:

    https://github.com/deepstreamIO/ds-tutorial-tanks

    有什么东西阻止我更改数据库中的记录吗?

    deepstream 通过实际对缓存进行所有写入/读取来保持其低延迟。写入数据库是次要的,以免引入命中。因此,直接更改记录实际上不会通知任何用户,并且会破坏一些用于合并处理的逻辑...

    【讨论】:

    • 不,每种类型的记录都没有自己的表。它们都默认存储在deepstream_records 表中,但是可以使用defaultTable 选项更改表名,这只是一个旁注。
    • Def 应该,你使用的是哪个 db 连接器?
    • 应该可以,您只能在记录名称中使用单个“/”,但除此之外它已被多次测试。值得使用您的代码针对 repo 提出问题,以查看问题所在。
    • 啊,好吧,我想我当时理解错了。我以为我使用 rethinkdbdash 创建了 users 表,并且所有 deepstream 数据都保存在这个表中,但我现在看到了我的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-02
    • 1970-01-01
    • 2015-12-25
    • 2017-11-25
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多