Manutenzione dell'elenco di elementi visti da un utente

-1

Sto sviluppando un'applicazione e ho bisogno di affrontare un problema qui.

L'app è una specie di app di e-commerce in cui ogni utente verrà mostrato un elenco di articoli ogni giorno. Il problema è che ho bisogno di tenere traccia di tutti gli oggetti visti da un utente in modo che quegli oggetti non vengano mostrati di nuovo.

Come posso fare questo?

Approccio I Mantieni gli id di tutti gli elementi visti da un utente in una cache e controlla la cache ogni volta che una chiamata API GET proviene da un utente.

Approccio II Mantieni una mappatura inversa da un elemento all'altro per evitare di mostrare elementi duplicati.

    
posta coderahul94 16.09.2018 - 19:45
fonte

1 risposta

0

Ecco alcune idee (preferisco 1, è vicino al tuo secondo approccio):

  1. potrebbe essere sufficiente una semplice tabella di database indicizzato per le coppie ID di ID utente (come chiave combinata). Una colonna aggiuntiva che conteggia le visualizzazioni dell'utente potrebbe essere di aiuto per la pubblicità mirata.

  2. combina ID utente e ID oggetto e li utilizza come chiave per un filtro a fioritura . In questo caso, l'utente potrebbe non visualizzare mai determinati elementi a causa di falsi positivi, ma a seconda del caso d'uso potrebbe essere ok. Se questo non è ok, puoi ricontrollare i positivi con una tabella di database (vedi 1, con una clausola "where in").

  3. memorizza gli ultimi x articoli che un cliente ha visto e li rispetta quando mostra gli oggetti al cliente. Questo elenco potrebbe anche essere memorizzato sul lato client e inviare come cookie.

  4. qualche funzione hash magica per selezionare gli ID oggetto da mostrare all'utente. In questo modo non devi memorizzare nulla e il rischio di duplicati è relativamente basso.

  5. crea una selezione giornaliera di elementi per tutti gli utenti o cluster di utenti. In questo modo puoi ridurre enormemente la quantità di dati da archiviare. Questo ignora il fatto che gli utenti non visitano quotidianamente o cosa visualizzano nel negozio.

risposta data 17.09.2018 - 11:09
fonte