将CouchDB和Redis一起用于交易数据

当我读到关于couchdb的时候,我偶然发现了一个关于事务和couchdb的问题。 显然,在沙发上处理交易的方式是拉取最新版本,并将其与您当前使用的版本进行比较。 如果数据快速变化,这可能会出现问题。 另一种方式是缩小地图并将交易数据分成多个文档。 这似乎也不是最佳的。

我正在考虑使用redis来处理这类数据。 增量和减量function对于这种目的来说似乎相当惊人。

所以我可以写一些事务性的关键字的string,如:

//some user document { name: "guy", id: 10, page_views: "redis user:page_views:10" } 

那么如果我在一些交易数据里面读到类似“redis”的东西,我就知道从redis获取这些信息。 我想我可以事先决定这些东西,但是由于面向文档的数据库的主要任务是灵活的,而不是将数据绑定到列上,我认为可能有一个更简单的方法?

有没有一种简单的方法将redis数据链接到couchdb? 我应该手动完成这一切,并为less数领域? 任何其他的想法? 在用户文档中“最终”更新这个事务性数据还是只是不在那里存储?

Redis和CouchDB都很“容易”(简单)。 所以在这方面,你所描述的很容易。 当然,通过使用两个数据库,增加了应用程序的复杂性。 但另一方面,CouchDB + Redis组合也越来越受欢迎。

我所知道的唯一一个整合了两者的工具是Mikeal Rogers的redcouch 。 这是一个简单的工具。 也许你可以扩展它来添加你需要的(并发送一个拉请求!)。

更广泛的考虑是,Redis没有CouchDB所具有的完整复制function集。 所以Redis可能会限制您未来的select与CouchDB。 具体而言,Redis不支持多主复制。 与CouchDB相比,您将始终拥有一个集中的Redis数据库。 (纠正我,如果我错了 – 我用CouchDB比用Redis强。)