我有一个使用couchbase作为数据库的nodejs项目。 只是想知道我是否将临时数据存储在
中1.redis
或
2.couchbase直接。
据我所知,对于couchbase有套接字延迟,我认为在redis中存储临时数据,而在couchbase中存储永久数据则更好。 有没有人有这方面的经验?
您的评论欢迎
答案 0 :(得分:4)
我是Redis的忠实粉丝,但在这种情况下,我只会使用Couchbase。
Couchbase相当高效,与数据的工作集适合内存时的memcached性能相当。大多数情况下,Couchbase顶部的额外缓存层无用。
也就是说,如果你真的需要一个缓存层,或者只是一些临时数据存储,你可以简单地创建一个托管在Couchbase集群中的memcached存储桶。因此,您将拥有持久数据的“最终持久”存储桶,以及临时数据的memcached存储桶。
这里描述了桶类型:
http://docs.couchbase.com/couchbase-manual-2.5/cb-admin/#data-storage
在这种情况下,将Redis添加为额外的存储层并没有多大意义。
答案 1 :(得分:0)
Couchbase内置了托管缓存,即使对于Couchbase存储桶也是如此。所以它已经有一个缓存层,并在顶部添加另一个只是听起来多余。
我不确定Couchbase中的套接字延迟是什么意思。你能解释一下这个吗?这不是我以前见过的东西,而且对我来说是可疑的。我会尝试对此进行故障排除,并在寻找将redis添加到混合中并找到另一层来管理和编码之前弄清楚它是什么。如果不了解套接字延迟,很难提出更多建议。
答案 2 :(得分:0)
这是一个古老的问题,但我也会接受它,如果没有其他任何东西,那么通过谷歌的人来看,就像我一样。
我同意他接受了答案,因为CouchBase最近使用了RAM中的文档。在这方面,它与Redis相同。 CouchBase的优势当然是数据可以通过添加更多节点自动地溢出RAM限制和服务器磁盘限制。
但是,我有一个项目,我正考虑在CouchBase旁边使用Redis。它基本上被认为是一个缓存服务器,但对于"计算的"项目。比如html-snippets或其他东西。 CouchBase是一个很棒的文档存储,但制作列表和其他结构并不容易,特别是没有很多视图。所以我想将Redis用作临时数据存储区,用于所需的临时数据操作,并将CouchBase用作主数据存储区。