在客户端js中使用缓存数据的最好方法是什么

在客户端js中使用缓存数据的最好方法是什么

本文介绍了在客户端js中使用缓存数据的最好方法是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程式使用有限数量要求的API,从另一个伺服器接收资料。


  1. 使用Cookie或HTML5最好的解决方案是什么
    WebStorage?

  2. 可能有其他方法来解决这个问题吗?


解决方案

跨浏览器兼容性问题, code>是唯一的选择,而不是网络存储。



但问题真的取决于 b

对于您尝试的操作,可能不需要cookie和网络存储。





  • Web存储支持持久数据存储,类似于Cookie,但容量大大增强,并且没有信息存储在HTTP请求标头中。



我宁愿说,将整个页面缓存为cookie或web存储也是很愚蠢的。为此,服务器端缓存选项可能是更好的方法。



更新:



报价:

使用类似的库检测网络存储功能如果不存在则返回cookie方法。 一个简单的例子

  if(Modernizr.localstorage){
//浏览器支持本地存储
//使用此方法
} else {
//浏览器不支持本地存储
//使用Cookie方法
}






[1]:


My application receives data from the another server, using API with limited number of requests. Data changing rarely, but may be necessary even after refresh page.

  1. What's the best solution this problem, using cookie or HTML5WebStorage?
  2. And may be have other way to solve this task?
解决方案

As much as cross browser compatibility matters, cookie is the only choice rather than web storage.

But the question really depends on what kind of data you are caching?

For what you are trying, cookie and web-storage might not be needed at all.

  • Cookies are used to store configuration related information, rather than actual data itself.
  • Web storage supports persistent data storage, similar to cookies but with a greatly enhanced capacity and no information stored in the HTTP request header.

I would rather say, it would be stupid to cache the entire page as cookie or web-storage both. For these purposes, server-side caching options might be the better way.

Update:

Quoting:

Detect the web-storage features, using libraries like mordernizr and if does not exists fall back to cookie method. A simple example

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

这篇关于在客户端js中使用缓存数据的最好方法是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-07 09:58