In effetti è sensato associare Redis e MongoDB:sono buoni giocatori di squadra. Troverai maggiori informazioni qui:
MongoDB con redis
Un punto critico è il livello di resilienza di cui hai bisogno. Sia Redis che MongoDB possono essere configurati per raggiungere un livello di resilienza accettabile e queste considerazioni dovrebbero essere discusse in fase di progettazione. Inoltre, potrebbe limitare le opzioni di distribuzione:se si desidera la replica master/slave sia per Redis che per MongoDB sono necessarie almeno 4 scatole (Redis e MongoDB non devono essere distribuiti sulla stessa macchina).
Ora, potrebbe essere un po' più semplice mantenere Redis per accodamento, pub/sub, ecc... e memorizzare i dati dell'utente solo in MongoDB. La logica è che non è necessario progettare percorsi di accesso ai dati simili (la parte difficile di questo lavoro) per due negozi caratterizzati da paradigmi diversi. Inoltre, MongoDB ha una scalabilità orizzontale integrata (set di repliche, partizionamento automatico, ecc...) mentre Redis ha solo una scalabilità fai-da-te.
Per quanto riguarda la seconda domanda, scrivere ad entrambi i negozi sarebbe il modo più semplice per farlo. Non esiste una funzionalità integrata per replicare l'attività Redis su MongoDB. Progettare un demone che ascolti una coda Redis (dove verrebbe pubblicata l'attività) e che scriva su MongoDB non è poi così difficile.