Per sapere se un determinato utente è online o meno, il primo metodo sarà molto più veloce:niente è più veloce della lettura di una singola chiave.
Trovare utenti in una pagina particolare non è così chiaro (non ho visto numeri reali sulle prestazioni delle chiavi di intersezione o jolly), ma se l'insieme è abbastanza grande da causare problemi di prestazioni in entrambe le implementazioni non è pratico da visualizzare comunque tutti.
Per abbinare gli utenti a un elenco di amici, probabilmente opterei anche per il primo approccio:anche alcune centinaia di operazioni di recupero (controllo dello stato di tutti nell'elenco) dovrebbero superare l'intersezione su più set se questi set hanno un numero elevato di record e sono difficile da mantenere.
I set Redis sono più appropriati per cose che non possono essere fatte con le chiavi, in particolare quando è più importante ottenere tutti gli oggetti nel set che controllare se un particolare oggetto è nel set.