Se hai già configurato Redis, continuerei con esso in quanto è molto veloce e facile da gestire. MemCached e Redis sono molto simili quando vengono utilizzati per la memorizzazione nella cache, tuttavia la differenza fondamentale è che Redis può essere impostato per persistere su disco in background, il che significa che se il server si interrompe, i dati in memoria possono essere ricaricati.
Personalmente, non userei MongoDb per la persistenza della sessione per motivi di velocità, tuttavia se stessi usando MemCached lo userei forse come backup per le sessioni. per esempio. Scrivi i dati della sessione su MemCached e Mongo ma leggi solo da MemCached e usa Mongo per ripristinare se si verifica un errore.
In conclusione, penso che la tua scelta di utilizzare Redis sia la migliore per ciò che hai descritto