2012-10-07 24 views

Respuesta

5

Por lo que respecta a la compatibilidad de navegador cruzado, cookie es la única opción en lugar de almacenamiento web.

Pero la pregunta realmente depende de ¿qué tipo de datos está almacenando en la memoria caché?

Por lo que está intentando, las cookies y el almacenamiento en la web podrían no ser necesarios en absoluto.

  • Las cookies se utilizan para almacenar información relacionada con la configuración, en lugar de los datos reales.
  • El almacenamiento web admite el almacenamiento persistente de datos, similar a las cookies pero con una capacidad muy mejorada y sin información almacenada en el encabezado de solicitud HTTP. [1]

Yo diría más bien, sería estúpido para almacenar en caché la página entera como galletas o la web de almacenamiento tanto. A estos efectos, las opciones de caché del lado del servidor podrían ser la mejor manera.

Actualización:

Citando:

datos sobre la actividad del usuario en algunas redes sociales (FB, VK, Google +)

Detectar las características web de almacenamiento, el uso de las bibliotecas como mordernizr y si no existe recurrir al método de cookie. Un ejemplo sencillo

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

Qué tipo de datos ... hmmm. Por ejemplo, datos sobre la actividad del usuario en algunas redes sociales (fb, vk, google +). Caché de datos en el lado del servidor para mí de muy mala manera, porque tantos datos =) Compatibilidad con navegadores cruzados para esta aplicación, no la tarea principal, esta aplicación hecha para navegadores modernos. – artzub

+0

@artzub, verifique mi actualización – Starx

+0

Thx, ¡lo veo! – artzub

4

de escribir este lib para resolver el mismo problema:

Cache your data with Javascript using cacheJS

Éstos son algunos usos básicos

// 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'})

Cuestiones relacionadas