使用JavaScript替代本地存储
我正在开发一个应用程序,它需要经常使用ajax发布到服务器,这会降低性能。作为一种解决方法,我开始测试localStorage作为替代方案。结果并不理想,频繁检索/设置localStorage的速度非常慢(这是我惊讶地发现的),并且会降低性能 另一方面,我真的不想在每次触发事件时都发布到服务器,因为这与localStorage的性能几乎相同 我想知道还有什么其他的解决办法 我是否可以创建一个“数据”对象,在触发事件时不断更新?有一个返回post的超时函数吗?如果是这样的话,你会如何设置使用JavaScript替代本地存储,javascript,object,local-storage,Javascript,Object,Local Storage,我正在开发一个应用程序,它需要经常使用ajax发布到服务器,这会降低性能。作为一种解决方法,我开始测试localStorage作为替代方案。结果并不理想,频繁检索/设置localStorage的速度非常慢(这是我惊讶地发现的),并且会降低性能 另一方面,我真的不想在每次触发事件时都发布到服务器,因为这与localStorage的性能几乎相同 我想知道还有什么其他的解决办法 我是否可以创建一个“数据”对象,在触发事件时不断更新?有一个返回post的超时函数吗?如果是这样的话,你会如何设置 有哪些选
有哪些选项可用于存储可快速检索的事件数据?如果有人能给我指出正确的方向,我将不胜感激。简单的解决方案是收集您希望保存在数组中的信息,并每隔一段时间保存一次
buffer = [];
// collect all mousemove events on #mydiv
$('#mydiv').mousemove(function(event) {
buffer.push(event.pageX + ", " + event.pageY)
})
createInterval(function() {
if (buffer.length > 0) { // save only if something happened
var to_transmit = buffer; // theoretically between this line and the next
// line you may miss an event, but in practice I wouldn't worry
buffer = []; // new buffer - next events will be inserted here
$.ajax({url: "/post/here/", data: to_transmit})
}
},
5000); // send ajax every 5 seconds
你存东西的频率有多高?在使用
localStorage
时,我从来没有遇到过减速……您应该描述一下您正在尝试做什么,否则您只是要求我们“推荐或查找一个工具、库或最喜欢的非现场资源”,这在触发事件时是非主题的(这取决于用户)但可能每秒最多2次。为什么你需要每秒节省2次。这些数据真的那么重要吗?你能用一个带有JSON的对象来动态存储吗?