ImmortalDB 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
ImmortalDB 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
ImmortalDB 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
ImmortalDB 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
ImmortalDB 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 MIT
操作系统 跨平台
软件类型 开源软件
所属分类 服务器软件存储系统
开源组织
地区 不详
提 交 者 段段段落
适用人群 未知
收录时间 2019-01-29

软件简介

ImmortalDB 是用于浏览器的弹性键值存储


ImmortalDB 是在浏览器中存储持久键值数据的最佳方法,保存在其中的数据被冗余地存储在 CookiesIndexedDBLocalStorageSessionStorage。如果其中的任何数据被删除或损坏,ImmortalDB 会进行自我修复。

举个例子,清除 cookie 是一种常见的用户操作(甚至对非技术用户来说,也是如此)。一般在没有存储压力警告的情况下,浏览器也会草率地删除 IndexedDB、LocalStorage 和 SessionStorage。而 ImmortalDB 对于这种情况,则是有弹性的。

这样说吧,ImmortalDB 就像 Evercookie,但它

  1. 会积极地被维护和记录;

  2. 提供了一个简单的,现代的,基于 Promise 的 API;

  3. 在可靠性和对用户的尊重间取得平衡。数据可靠地被存储着,但如果用户想清除 cookie 和应用程序的存储,也可以自行清除数据;

  4. 不使用恶意的漏洞利用工具(exploits),也不使用 Flash、Silverlight 或 Java 等第三方插件。只使用标准的、经过批准的 HTML 5 API;

  5. 不破坏性能或用户体验。例如,Evercookie 的 CSS 历史记录敲门(Knocking)可能会引起大量的后台 HTTP 请求产生,加载 Silverlight 或 Flash 可能会引发未被请求的许可模态框(permission modals)、或是颠簸(Thrashing)用户的磁盘。

ImmortalDB 是如何工作的

当您将键值对存储在 ImmortalDB 中时,该键和值会冗余地保存在浏览器的 cookie、IndexedDB、LocalStorage 和 SessionStorage 数据存储中。

当您通过键检索值时,ImmortalDB 会:

  1. 在每个数据存储中查找那个密钥;

  2. 计算每个唯一返回值;

  3. 将最常见的返回唯一值确定为“正确”值;

  4. 返回这个正确的值。

接着,ImmortalDB 会“自愈”:如果任何数据存储区返回的值与所确定的正确值不同,或是根本没有值,则将正确的值重写到该存储区。通过这样的方式,一致性、可靠性和冗余得到维持。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (4)

加载中
没太明白是啥,但估计跟我们几年前搞那个原理有点点像,一份data 哥儿几个同时建立副本,谁没了其他兄die就给他补回去....
2020/05/16 03:56
回复
举报
node.js吗,这个有普通js可以实现吗
2019/12/05 12:02
回复
举报
说了个啥,表示一点没看懂
2019/02/05 13:03
回复
举报
特么的我也懵逼
2019/06/20 19:24
回复
举报
更多评论
暂无内容
2020/06/20 07:41

【Web技术】630- 前端存储除了 localStorage 还有啥

前端的数据存储方式,你除了用过 Cookies、localStorage 和 sessionStorage 外,还有用过其它的存储方式么?其实除了前面提到的 3 种存储方式,目前主流的浏览器还支持 Web SQL 和 IndexedDB。 目前市场上主流的浏览器有 Chrome 、Safari、Firefox、Opera、UC Browser 和 Internet Explorer 等,其中截止 2020 年 5 月,Chrome 的市场占有率为 「63.93%」,远远超过第二名 Safari 浏览(「18.19%」)。 (图片来源:https://gs....

0
0
发表了博客
2020/06/20 22:58

前端存储除了 localStorage 还有啥

前端的数据存储方式,你除了用过 Cookies、localStorage 和 sessionStorage 外,还有用过其它的存储方式么?其实除了前面提到的 3 种存储方式,目前主流的浏览器还支持 Web SQL 和 IndexedDB。 目前市场上主流的浏览器有 Chrome 、Safari、Firefox、Opera、UC Browser 和 Internet Explorer 等,其中截止 2020 年 5 月,Chrome 的市场占有率为 「63.93%」,远远超过第二名 Safari 浏览(「18.19%」)。 (图片来源:https://gs....

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
4 评论
43 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部