小编Tan*_*Wei的帖子

HTML localStorage setItem和getItem性能接近5MB限制?

我正在构建一个使用HTML localStorage的小项目.虽然我没有接近localStorage的5MB限制,但我还是决定进行压力测试.

本质上,我将数据对象加载到单个localStorage对象中,直到它只是略低于该限制,并且必须请求设置和获取各种项目.

然后我使用javascript Date对象和事件处理程序非正式地执行setItem和getItem (绑定get并设置为HTML中的按钮,然后单击= P)

性能非常糟糕,请求时间在600毫秒到5,000毫秒之间,而且在更严重的情况下内存使用量接近200毫安.这是在Google Chrome中使用MacOSX上的单一扩展程序(Google Speed Tracer).

在Safari中,它基本上都是> 4,000ms.

Firefox是一个惊喜,几乎没有超过150毫秒.

这些都是基本上处于空闲状态 - 没有YouTube(Flash)阻碍,没有多少标签(只有Gmail),除了后台进程+浏览器之外没有应用程序打开.一旦内存密集型任务弹出,localStorage也会按比例放缓.FWIW,我正在运行2008年末的Mac - > 2.0Ghz Duo Core,配备2GB DDR3内存.

===

所以问题:

  1. 有没有人针对localStorage获取和设置各种不同的键和值大小,以及在不同的浏览器上进行基准测试?
  2. 我假设Firefox之间的延迟和内存使用量差异很大,其余的是Gecko vs Webkit问题.我知道通过深入研究这些代码库可以找到答案,但我肯定想知道是否有其他人可以在这两个引擎上解释有关localStorage实现的相关细节,以解释浏览器中效率和延迟的巨大差异?

不幸的是,我怀疑我们是否能够解决它,但是越接近就能理解浏览器在当前状态下的局限性.

谢谢!

html gecko webkit local-storage

12
推荐指数
1
解决办法
943
查看次数

用户通过jquery.couch.js或其他方式注册Couchapp/CouchDB

背景

现在,我正在尝试使用couchDB/couchapp构建一个应用程序,该应用程序将存储来自用户的持久且关键的信息,并且我坚持使用couchapp进行用户注册所需的步骤.

基本上,我想要做的是有一个简单的注册表单,用户可以使用它来注册帐户以使用我的应用程序.这将需要在couchdb _users数据库中创建新用户,并创建新数据库,并为新用户分配数据库admin角色.

这一切都需要服务器管理员凭据

理想情况下,我希望能够使用其中一个jquery.couch.js功能进行呼叫,但似乎没有一种安全的方法可以做到这一点.(或者有??)

将此任务卸载到中间层软件或其他方面的最有效但最安全的方法是什么?

通过高效,我的意思是为用户需要最少的步骤,对我来说不一定是最少的麻烦.

截至目前,我已经设置了一个单独的node.js服务器来接收注册请求.我的couchDB服务器管理员凭据作为假定的私有变量存储在节点server.js文件中.然后我使用将任何数据库创建请求POST回到couchDB couch-client.

我在这里跳过太多(潜在的不安全)箍吗?有没有更好的方法来确保安全的注册过程?

谢谢.

jquery couchdb couchapp

8
推荐指数
1
解决办法
1983
查看次数

标签 统计

couchapp ×1

couchdb ×1

gecko ×1

html ×1

jquery ×1

local-storage ×1

webkit ×1