2012-10-07 10 views

risposta

5

Per quanto riguarda la compatibilità tra browser, lo cookie è l'unica scelta piuttosto che lo spazio di archiviazione web.

Ma la domanda dipende davvero da che tipo di dati si sta memorizzando nella cache?

Per ciò che si sta tentando, cookie e spazio di archiviazione Web potrebbero non essere necessari.

  • I cookie vengono utilizzati per memorizzare informazioni relative alla configurazione, piuttosto che dati effettivi.
  • Lo storage Web supporta la memorizzazione persistente dei dati, simile ai cookie ma con una capacità notevolmente migliorata e nessuna informazione memorizzata nell'intestazione della richiesta HTTP. [1]

avrei preferito dire, sarebbe stupido mettere in cache l'intera pagina come biscotto o web-storage sia. Per questi scopi, le opzioni di memorizzazione nella cache sul lato server potrebbero essere il modo migliore.

Aggiornamento:

Citando:

dati sulle attività degli utenti in alcuni social network (fb, vk, google +)

rilevare la funzionalità web-stoccaggio, utilizzando le librerie come mordernizr e se non esiste ricadono nel metodo dei cookie. Un semplice esempio

if (Modernizr.localstorage) { 
    // browser supports local storage 
    // Use this method 
} else { 
    // browser doesn't support local storage 
    // Use Cookie Method 
} 

[1]: http://en.wikipedia.org/wiki/Web_storage

+0

Che tipo di dati ... hmmm. Ad esempio, dati sull'attività dell'utente in alcuni social network (fb, vk, google +). Memorizzare i dati sul lato server per me molto male, perché tanti dati =) Compatibilità tra browser per questa app non principale, questa app creata per i browser moderni. – artzub

+0

@artzub, controlla il mio aggiornamento – Starx

+0

Thx, lo guardo! – artzub

4

Ho scritto questo lib per risolvere lo stesso problema:

Cache your data with Javascript using cacheJS

Ecco alcuni usi di base

// just add new cache using array as key 
 
cacheJS.set({blogId:1,type:'view'},'<h1>Blog 1</h1>'); 
 
cacheJS.set({blogId:1,type:'json'}, jsonData); 
 

 
// remove cache using key 
 
cacheJS.removeByKey({blogId:1,type:'json'}); 
 

 

 
// add cache with ttl and contextual key 
 
cacheJS.set({blogId:2,type:'view'},'<h1>Blog 2</h1>', 3600, {author:'hoangnd'}); 
 

 
cacheJS.set({blogId:3,type:'view'},'<h1>Blog 3</h1>', 3600, {author:'hoangnd'}); 
 

 

 
// remove cache with con textual key 
 
// cache for blog 2 and 3 will be removed 
 
cacheJS.removeByContext({author:'hoangnd'})

Problemi correlati