Pattern per creare e accedere a dati temporanei per più richieste http?

1

Desidero memorizzare i dati temporanei a cui è possibile accedere attraverso più richieste http. La domanda potrebbe essere simile a Come mantenere i dati temporanei su più richieste HTTP? . La risposta accettata è troppo specifica per ASP. Tuttavia, nel mio caso sto usando le rotaie come framework. Voglio conoscere i possibili schemi che almeno risolveranno il problema sul mio ambiente e il caso d'uso.

environtment: Lato server:

  • Rails 4
  • Redis
  • PostgreSQL
  • Sidekiq

Lato client:

  • Chrome / Firefox

Caso di utilizzo: Il cliente effettua una richiesta per creare un oggetto sul lato server e rendere l'oggetto accessibile almeno un giorno in più connessioni http. I dati da memorizzare sono un hash con valore di stringhe, stringhe lunghe, che possono richiedere fino a migliaia di caratteri.

Ho provato un approccio diverso per ottenere questo risultato, ad esempio:

  • Elemento elenco Utilizzo dell'oggetto database temporaneo.

    Ho creato una colonna per contrassegnare i dati come temporanei. E ho creato un lavoratore per cancellare i dati temporanei ogni giorno.

    Il problema con questo approccio è creare un sacco di dati temporanei e rendere il database sporco.

  • Uso dei cookie come spazio di archiviazione

    I cookie sono un'ottima scelta, ma è possibile contenere string con migliaia di caratteri?

C'è un approccio migliore per me per memorizzare i dati temporanei? Il pattern che funziona in rail sarà accettabile, ma sarà migliore se è generale e può essere applicato a framework diversi.

    
posta Yana Agun Siswanto 20.07.2016 - 18:52
fonte

1 risposta

1

Quello che stai cercando è come una sorta di sessione (HTTP). Puoi utilizzare un cookie per memorizzare l'ID di riferimento all'interno del tuo archivio di sessioni.

Stai già usando Redis e Redis è una persistenza "perfetta" per memorizzare i dati di sessione. Tutte le operazioni vengono eseguite in memoria, quindi le letture e le scritture saranno veloci.

Redis fornisce un modo per impostare l'ora di vita o le voci in modo che non sia necessario un processo di pulizia.

C'è un progetto GitHub chiamato link

    
risposta data 21.07.2016 - 09:59
fonte

Leggi altre domande sui tag