ImmortalDB

编程之家收集整理的这个编程导航主要介绍了ImmortalDB编程之家,现在分享给大家,也给大家做个参考。

ImmortalDB 介绍

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

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

这样说吧,ImmortalDB 就像 Evercookie,但它会积极地被维护和记录;

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

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

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

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

ImmortalDB 是如何工作的

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

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

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

计算每个唯一返回值;

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

返回这个正确的值。

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

GitHub:https://github.com/gruns/ImmortalDB

网站描述:用于浏览器的弹性键值存储数据库

ImmortalDB

官方网站:

小编说

以上是编程之家为你收集整理的ImmortalDB全部内容。

如果觉得编程之家网站内容还不错,欢迎将编程之家推荐给好友。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


scalable.js,一款可以使任何HTML元素动态缩放适合父元素的js插件
Pica,使用JS进行快速高品质图像缩放
react-dates,React 日期组件
date-fns,轻量级的JavaScript 日期工具库
WOW.js,一款效果炫酷的元素在页面滚动时展示CSS3动画的JS插件
Pikaday,一个 轻量级、无依耐Js日期选择器
ngDialog,一个基于AngularJS的扩展对话框模块
react-swipeable-views,一个 React 轮播组件
lazysizes.js,响应式图像延迟加载JS插件【懒加载】
Flickity,一款自适应手机触屏滑动插件
screenfull.js,浏览器全屏插件
ueditor,由百度web前端研发部开发所见即所得富文本web编辑器
Darkmode.js,一键为网站添加黑暗模式
PhotoClip.js,一款手势驱动的裁图插件
react-native-masonry,用于渲染一个图像masonry~ish布局react-native组件
PixelMatch,一个最小、最简单、最快的js像素级图像比较库
number-flip,一款 js 数字翻转切换插件
vue-core-image-upload,图片剪切和上传的 vue 插件
vue-awesome-swiper,基于swiper、Vue.js 的 Swiper 组件
hashids.js,数字生成类似YouTube的ID的js库