実際、RedisとMongoDBを関連付けることは賢明です。彼らは優れたチームプレーヤーです。詳細については、こちらをご覧ください:
redisを使用したMongoDB
重要なポイントの1つは、必要な復元力のレベルです。 RedisとMongoDBはどちらも、許容可能なレベルの復元力を実現するように構成できます。これらの考慮事項については、設計時に検討する必要があります。また、デプロイオプションに制約が生じる可能性があります。RedisとMongoDBの両方にマスター/スレーブレプリケーションが必要な場合は、少なくとも4つのボックスが必要です(RedisとMongoDBを同じマシンにデプロイしないでください)。
さて、キューイング、pub / subなどのためにRedisを維持し、ユーザーデータをMongoDBのみに保存する方が少し簡単かもしれません。理論的根拠は、異なるパラダイムを特徴とする2つのストアに対して同様のデータアクセスパス(このジョブの難しい部分)を設計する必要がないということです。また、MongoDBには組み込みの水平スケーラビリティ(レプリカセット、自動シャーディングなど)がありますが、Redisには独自のスケーラビリティしかありません。
2番目の質問に関しては、両方のストアに書き込むのが最も簡単な方法です。 RedisアクティビティをMongoDBに複製するための組み込み機能はありません。ただし、Redisキュー(アクティビティが投稿される場所)をリッスンし、MongoDBに書き込むデーモンを設計することはそれほど難しくありません。