【问题标题】:store the temporary data in couchbase or redis将临时数据存储在 couchbase 或 redis 中
【发布时间】:2014-03-25 08:04:11
【问题描述】:

我有一个使用 couchbase 作为数据库的 nodejs 项目。 只是想知道我是否将临时数据存储在

1.redis

或在

2.couchbase 直接。

据我所知,couchbase 存在套接字延迟,我认为将临时数据存储在 redis 中,而将永久数据存储在 couchbase 中更好。 有没有人有这方面的经验?

欢迎评论

【问题讨论】:

    标签: node.js redis couchbase


    【解决方案1】:

    我是 Redis 的忠实粉丝,但在这种情况下,我只会使用 Couchbase。

    Couchbase 相当高效,当您的数据工作集适合内存时,其性能可与 memcached 相媲美。大多数时候,在 Couchbase 之上的额外缓存层是没有用的。

    也就是说,如果您真的需要一个缓存层,或者只是一些临时数据的存储,您可以简单地创建一个托管在 Couchbase 集群中的 memcached 存储桶。因此,您将有一个“最终持久”的存储桶用于存储持久数据,并有一个用于存储临时数据的 memcached 存储桶。

    此处描述了存储桶类型:

    http://docs.couchbase.com/couchbase-manual-2.5/cb-admin/#data-storage

    在这种情况下,将 Redis 添加为额外的存储层并没有什么意义。

    【讨论】:

      【解决方案2】:

      Couchbase 内置了一个托管缓存,即使对于 Couchbase 存储桶也是如此。所以它已经有了一个缓存层,在上面再添加一个听起来是多余的。

      我不确定 Couchbase 中的套接字延迟是什么意思。您能否对此进行更多解释?这不是我以前见过的东西,而且对我来说很可疑。我会尝试解决这个问题并弄清楚这是什么,然后再将 redis 添加到混合中并有另一个层来管理和编码。在不了解套接字延迟的情况下,很难提出更多建议。

      【讨论】:

      • 应用服务器通过socket/REST访问CouchBase服务器,即使它们(应用物理服务器和CouchBase物理服务器)在同一个本地网络,我认为延迟比直接访问内存中的数组/列表要慢.这就是我所说的“套接字延迟”。大多数情况下,延迟可以忽略不计,但对于高速实时游戏来说,差别会很大
      • Couchbase nodejs SDK 不应访问 REST 接口获取数据。不过,它会点击 REST 端口来获取集群图。客户端 SDK 应该达到 11210。无论如何,您可能还有其他事情要做。就像操作系统中没有足够的文件描述符或类似的东西。我已经看到 couchbase 可以轻松地每秒执行成千上万次操作,因此我的建议是检查您的安装并将其与安装文档进行比较,看看是否有您错过或应该设置但没有设置的设置。
      【解决方案3】:

      这是一个古老的问题,但我也会接受它,如果没有别的,那么对于通过谷歌遇到它的人来说,就像我所做的那样。

      我同意他接受的答案,因为 CouchBase 在 RAM 中有最近使用的文档。在这方面,它的作用与 Redis 相同。 CouchBase 的优势当然是通过添加更多节点,数据可以可靠地溢出 RAM 限制和服务器磁盘限制。

      但是,我有一个项目正在考虑在 CouchBase 旁边使用 Redis。它基本上被认为是一个缓存服务器,但用于“计算”项目。比如html-sn-ps之类的东西。 CouchBase 是一个很棒的文档存储,但是制作列表和其他结构并不容易,尤其是在没有大量视图的情况下。所以我正在考虑使用 Redis 作为临时数据存储来进行所需的临时数据操作,并将 CouchBase 作为主要数据存储。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-07-28
        • 2018-07-27
        • 2013-05-28
        • 1970-01-01
        • 1970-01-01
        • 2022-10-23
        • 1970-01-01
        • 2018-03-09
        相关资源
        最近更新 更多