couchdbについて読んでいるときに、トランザクションとcouchdbについての質問に出くわしました。どうやら、Couchでトランザクションを処理する方法は、最新バージョンをプルして、現在使用しているバージョンと比較することです。データが急速に変化している場合、これは問題を引き起こす可能性があります。もう1つの方法は、マップリデュースを行い、トランザクションデータを複数のドキュメントに分離することです。これも最適ではないようです。
この種のデータにredisを使用することを考えていました。インクリメント関数とデクリメント関数は、この種の目的にはかなり驚くべきもののようです。
したがって、トランザクションキーに対して次のような文字列を記述できます。
//some user document
{
name: "guy",
id: 10,
page_views: "redis user:page_views:10"
}
次に、トランザクションデータの一部の中にある「redis」のようなものを読んだ場合、その情報をredisから取得する必要があります。これらのことは事前に決めることができると思いますが、ドキュメント指向データベースの主な使命は柔軟性があり、データを列にバインドしないことなので、もっと簡単な方法があるのではないかと思いました。
redisデータをcouchdbにリンクする簡単な方法はありますか?これをすべて手動で行う必要がありますか?また、表示されるいくつかのフィールドに対して行う必要がありますか?他に何か考えはありますか?このトランザクションデータをユーザードキュメントで「最終的に」更新する方がよいでしょうか、それとも単にそこに保存しない方がよいでしょうか。