Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript替代本地存储_Javascript_Object_Local Storage - Fatal编程技术网

使用JavaScript替代本地存储

使用JavaScript替代本地存储,javascript,object,local-storage,Javascript,Object,Local Storage,我正在开发一个应用程序,它需要经常使用ajax发布到服务器,这会降低性能。作为一种解决方法,我开始测试localStorage作为替代方案。结果并不理想,频繁检索/设置localStorage的速度非常慢(这是我惊讶地发现的),并且会降低性能 另一方面,我真的不想在每次触发事件时都发布到服务器,因为这与localStorage的性能几乎相同 我想知道还有什么其他的解决办法 我是否可以创建一个“数据”对象,在触发事件时不断更新?有一个返回post的超时函数吗?如果是这样的话,你会如何设置 有哪些选

我正在开发一个应用程序,它需要经常使用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的对象来动态存储吗?