2014-04-10 4 views

risposta

8

sessioni Gorilla fornisce un mezzo per cablare un sistema di storage per la gestione delle sessioni, se effettuata secondo l'interfaccia fornita. Attualmente, ti danno due negozi fuori dalla scatola. Uno è un FilesystemStore che aderisce all'interfaccia che semplicemente memorizza e recupera i dati basati sulla sessione sul filesystem del server. Il CookieStore come un'altra opzione, legge e scrive nel sistema di cookie integrato nel browser per realizzare la stessa cosa usando un altro mezzo.

sessioni di gorilla ha davvero nulla a che fare con Redis, ma sapendo questo, si può facilmente utilizzare il proprio archiviazione sessione con Gorilla fornito a costruire un RedisStore che aderisce alle sessioni Gorilla Store interface. Dipende tutto dalla tua capacità e da ciò che stai cercando in un sistema di archiviazione di sessione. In pratica, Gorilla ti offre due opzioni predefinite con un'opzione per fornirti la tua adatta alla tua app.

Inoltre, se si arriva a costruire un RedisStore che può funzionare con Gorilla Sessions, considerare la possibilità di renderlo open source poiché sarebbe una grande aggiunta alla comunità di Go.

È necessario valutare le esigenze e i requisiti di prestazione della propria app per capire quale sistema di archiviazione utilizzare. Perché Redis ha forse un senso? Bene, se stai costruendo un'app che esegue pesanti operazioni di scrittura/modifica e questi dati devono persistere, Redis è ben noto per aiutarti a ridimensionare la tua app fino a quando la utilizzi correttamente. Una sessione supportata da Redis funzionerà molto bene se sai cosa stai facendo.

L'ultimo punto, se si desidera coinvolgere Redis, prendere in considerazione l'utilizzo di questo meraviglioso pacchetto Go: Redigo come libreria client Redis.

+2

ce n'è già uno, e penso che sia buono https://github.com/boj/redistore, solo per essere sicuro di aver capito bene, il vantaggio di usare le sessioni di gorilla è la possibilità di usare diversi modi insieme? – Marwan

+1

Il vantaggio di Gorilla Sessions è la funzionalità di base della gestione delle sessioni, che è ben distolta in una libreria con soluzioni di storage back-end collegabili. Per quanto riguarda Redis, in realtà, Redis è noto per la velocità. Questo, abbinato al suo modello di persistenza piuttosto robusto, significa che gestirà una tonnellata di operazioni simultanee di lettura/scrittura. Ma aggiunge complessità alla tua applicazione perché ora hai un componente aggiuntivo che deve essere mantenuto, ottimizzato, ecc. –

+0

Puoi farlo molto bene, ma poi devi anche rotolare la tua sessione e la gestione dello stato che include il calcolo come gestire il login/logout, la corrispondenza delle sessioni con gli utenti e le sessioni persistenti nel caso in cui un utente debba tornare. –

Problemi correlati