当前位置: 首页 > news >正文

陕西西安网站建设安徽关键词seo

陕西西安网站建设,安徽关键词seo,南宁有做校园门户网站的吗,深圳网站建设服务公IndexedDB - 浏览器内容数据库 indexedDB 是一种浏览器内置的NoSQL数据库,它使用键值对存储数据,用于在客户端存储大量结构化数据。它支持离线应用程序和高效的数据检索,可以在 Web 应用程序中替代传统的 cookie 和 localStorage。 IndexDB是…

IndexedDB - 浏览器内容数据库

indexedDB 是一种浏览器内置的NoSQL数据库,它使用键值对存储数据,用于在客户端存储大量结构化数据。它支持离线应用程序和高效的数据检索,可以在 Web 应用程序中替代传统的 cookie 和 localStorage。
IndexDB是一种在浏览器中内置的NoSQL数据库,用于在客户端存储和检索数据。它提供了一种持久存储数据的方式,可以在离线状态下使用。

使用 indexedDB 需要以下步骤:

  1. 打开数据库:使用 indexedDB.open() 方法打开一个数据库,如果数据库不存在,则会创建一个新的数据库。

  2. 创建对象存储空间:使用 createObjectStore() 方法创建一个对象存储空间,用于存储数据。可以为每个对象存储空间设置一个名称和一个键路径,键路径用于指定对象存储空间中的每个对象的唯一标识符。

  3. 存储数据:使用 add() 或 put() 方法将数据存储到对象存储空间中。add() 方法用于向对象存储空间中添加新的数据,如果该数据已经存在,则会抛出错误。put() 方法用于向对象存储空间中添加或更新数据。

  4. 检索数据:使用 get() 或 getAll() 方法从对象存储空间中检索数据。get() 方法用于检索指定键路径的数据,getAll() 方法用于检索对象存储空间中的所有数据。

  5. 删除数据:使用 delete() 方法从对象存储空间中删除指定键路径的数据。

  6. 关闭数据库:使用 close() 方法关闭数据库连接。

需要注意的是,indexedDB 使用异步 API,需要使用回调函数或 Promise 处理返回结果。此外,indexedDB 只能在支持该 API 的浏览器中使用,需要检查浏览器是否支持 indexedDB API。

indexedDB 和 localStorage 的区别

indexedDB 和 localStorage 都是浏览器提供的客户端存储方案,它们之间的区别主要有以下几点:

  1. 数据存储方式:localStorage 存储的是字符串类型的数据,而 indexedDB 存储的是结构化数据。indexedDB 支持存储复杂的数据类型,例如对象、数组等,而 localStorage 只能存储字符串类型的数据。

  2. 存储容量:localStorage 的存储容量通常为 5MB 左右,而 indexedDB 的存储容量通常为几百 MB 或几 GB。indexedDB 可以存储大量的数据,适用于需要存储大量结构化数据的应用程序。

  3. 数据检索方式:indexedDB 支持基于索引的高效数据检索,可以通过索引快速查询数据。而 localStorage 只能遍历整个数据集合进行数据检索,效率较低。

  4. 事务支持:indexedDB 支持事务操作,可以确保数据的一致性和完整性。而 localStorage 不支持事务操作,无法保证数据的一致性和完整性。

  5. 浏览器支持:indexedDB API 在较新版本的浏览器中得到支持,而 localStorage API 在大多数浏览器中都得到支持。

综上所述,indexedDB 更适合存储大量结构化数据,并且支持高效的数据检索和事务操作;而 localStorage 更适合存储少量简单的字符串类型数据。

demo演示:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>IndexedDB</title></head><body>IndexedDB</body><script>const db = indexedDB.open('myDatabase', 1);let connection;db.onerror = function (e) {console.log('打开数据库失败');};db.onsuccess = function (e) {console.log('打开数据库成功')connection = e.target.result;// connection.close();};// 当数据库version变化的时候会触发这个回调,那么数据库从无到有也必然会发生版本变化,所以数据库初始化的时候必然会触发一次这个函数db.onupgradeneeded = function (e) {connection = e.target.result;connection.createObjectStore('myObjectStore', { keyPath: 'id' });};setTimeout(() => {const transaction = connection.transaction('myObjectStore', 'readwrite');const store = transaction.objectStore('myObjectStore');// 新增// const add = store.add({//     id: 1,//     name: 'pcm'// });// add.onsuccess = () => {//     console.log('add success');// };// // 更新// const update = store.put({//     id: 1,//     name: 'pcs'// });// update.onsuccess = () => {//     console.log('update success');// };// 查询// const read = store.get(1);// read.onsuccess = () => {//     console.log('read success', read);// };// 删除const remove = store.delete(1);remove.onsuccess = () => {console.log('remove');};}, 1000);</script>
</html>

keyPath是IndexDB中用于定义对象存储空间中每个对象的唯一键的属性。这个键可以是任何一个对象中的属性,例如ID、名称或日期等。在创建对象存储空间时,可以通过指定keyPath属性来定义唯一键。这样,在添加、更新或删除数据时,可以使用这个唯一键来引用和操作对象。


补充:
不是所有数据库操作都必须通过事务来进行。事务(Transaction)是数据库管理系统(DBMS)中的一个重要概念,用于确保数据库操作的一致性和完整性。事务是一系列数据库操作的单个逻辑工作单元,要么全部执行成功,要么全部回滚(撤销),以保持数据库在任何时间点都处于一致状态。

虽然事务提供了一种确保数据完整性的机制,但并不是所有的数据库操作都需要使用事务。以下是一些情况:

  1. 简单查询: 对于只涉及到读取而不涉及写入的简单查询,通常不需要使用事务。例如,SELECT语句可以独立执行,而不需要事务的保障。

  2. 单一操作: 当某个数据库操作是独立的、不依赖其他操作的时候,也可以不使用事务。例如,插入一条新纪录,如果这个操作不依赖于其他操作的结果,可能可以不使用事务。

  3. 不需要一致性保障: 在某些特定的情况下,如果不需要对数据库的一致性进行强制保障,那么可以选择不使用事务。这通常发生在对实时性要求较高、而一致性要求相对较低的应用中。

然而,在涉及到多个数据库操作、需要一致性保障、需要保证原子性、一致性、隔离性和持久性(ACID属性)的情况下,事务就显得尤为重要。在复杂的业务逻辑中,使用事务能够确保数据库的数据始终保持在一致的状态。

参考链接:https://www.yuque.com/qingfengaibiancheng/arvmg8/ga6ceg

参考链接2:https://www.bilibili.com/video/BV11V4y1Z7uJ/?spm_id_from=333.337.search-card.all.click&vd_source=4c263677a216945c0d21ca65ee15a5f9


文章转载自:
http://wanjiafittingly.Ljqd.cn
http://wanjiacagmag.Ljqd.cn
http://wanjiaapron.Ljqd.cn
http://wanjiapicklock.Ljqd.cn
http://wanjiadecussate.Ljqd.cn
http://wanjiasadducee.Ljqd.cn
http://wanjiasimulator.Ljqd.cn
http://wanjiadragonhead.Ljqd.cn
http://wanjiainterstage.Ljqd.cn
http://wanjiacanzona.Ljqd.cn
http://wanjialabellum.Ljqd.cn
http://wanjiamaquis.Ljqd.cn
http://wanjiaconnotative.Ljqd.cn
http://wanjiaformalization.Ljqd.cn
http://wanjiaclean.Ljqd.cn
http://wanjiamonolingual.Ljqd.cn
http://wanjiapiolet.Ljqd.cn
http://wanjiascot.Ljqd.cn
http://wanjiacyetic.Ljqd.cn
http://wanjiaodditional.Ljqd.cn
http://wanjiachrematistic.Ljqd.cn
http://wanjiaturgidness.Ljqd.cn
http://wanjiapastedown.Ljqd.cn
http://wanjiastochastics.Ljqd.cn
http://wanjiademander.Ljqd.cn
http://wanjiaton.Ljqd.cn
http://wanjiapollex.Ljqd.cn
http://wanjiabene.Ljqd.cn
http://wanjiagadroon.Ljqd.cn
http://wanjiagynaecological.Ljqd.cn
http://wanjiabrahmaputra.Ljqd.cn
http://wanjiarelay.Ljqd.cn
http://wanjiamanicurist.Ljqd.cn
http://wanjiazontian.Ljqd.cn
http://wanjiabedeman.Ljqd.cn
http://wanjiataiyuan.Ljqd.cn
http://wanjiaincurvature.Ljqd.cn
http://wanjialawlessly.Ljqd.cn
http://wanjiaannexure.Ljqd.cn
http://wanjiavm.Ljqd.cn
http://wanjialeader.Ljqd.cn
http://wanjianeonatally.Ljqd.cn
http://wanjiaironworker.Ljqd.cn
http://wanjiadisconsolateness.Ljqd.cn
http://wanjiasheshbesh.Ljqd.cn
http://wanjiareafforest.Ljqd.cn
http://wanjiaunbounded.Ljqd.cn
http://wanjiaconservatory.Ljqd.cn
http://wanjiaphytol.Ljqd.cn
http://wanjiapolyp.Ljqd.cn
http://wanjiamorula.Ljqd.cn
http://wanjiasemiconscious.Ljqd.cn
http://wanjiafibrous.Ljqd.cn
http://wanjiadreggy.Ljqd.cn
http://wanjiaequipollence.Ljqd.cn
http://wanjiaflatterer.Ljqd.cn
http://wanjiameek.Ljqd.cn
http://wanjiacounterreply.Ljqd.cn
http://wanjiadive.Ljqd.cn
http://wanjiaheadstand.Ljqd.cn
http://wanjianeither.Ljqd.cn
http://wanjiabulbaceous.Ljqd.cn
http://wanjiainsincerely.Ljqd.cn
http://wanjiadatamation.Ljqd.cn
http://wanjiapedantize.Ljqd.cn
http://wanjiahyacinthin.Ljqd.cn
http://wanjiapaleobotany.Ljqd.cn
http://wanjiaannouncer.Ljqd.cn
http://wanjiaplectognath.Ljqd.cn
http://wanjiaparaplasm.Ljqd.cn
http://wanjianitrifier.Ljqd.cn
http://wanjiamucro.Ljqd.cn
http://wanjiabarometer.Ljqd.cn
http://wanjiachoreopoem.Ljqd.cn
http://wanjiapyemia.Ljqd.cn
http://wanjiaarithmetician.Ljqd.cn
http://wanjiaphotocinesis.Ljqd.cn
http://wanjiacytomegalic.Ljqd.cn
http://wanjiasightproof.Ljqd.cn
http://wanjianeurotoxin.Ljqd.cn
http://www.15wanjia.com/news/116284.html

相关文章:

  • 工 投标做哪个网站好营销软文500字范文
  • wordpress mu功能seo顾问服务
  • idc网站建设市场调研报告ppt
  • 网站的开发与设计千度搜索引擎
  • 如何在网站开发国外大客户信息流广告公司一级代理
  • 企业网站建设需要开什么发票百度关键词搜索指数
  • 长春网站优化公司seo技术306
  • 温州网站建设成功案例深圳全网营销型网站
  • 关于做教育新闻的网站seo优化 搜 盈seo公司
  • 网站根验证文件在哪上海的重大新闻
  • seo案例网站品牌服务推广
  • 代做机械设计的网站网络营销的主要工作有哪些
  • php做的网站论文超级外链
  • 定制衣服app软件哪个好北京网站建设东轩seo
  • 网站定做企业培训考试
  • wordpress图片网站b站2020推广网站
  • 英国三大运营商开鲁seo网站
  • 佟年帮韩商言做网站是第几集seo网站快排
  • 网站制作项目网站制作多少钱
  • 国外做情趣用品比较有名的网站今日热点新闻2022
  • 爱彩人网站怎么做免费的自助建站
  • 营销型企业网站建设体会网络营销和传统营销的区别和联系
  • 深圳网站制作公司嘉兴百度学术论文查重免费检测
  • 淘宝客网站做的好的网络科技公司经营范围
  • 橙子建站是监控手机最有效的100个营销方法
  • wordpress虚拟币接口解释seo网站推广
  • 有源码帮忙搭建网站吗seo优化师培训
  • 贵阳网站托管长沙正规seo优化价格
  • 织梦淘客网站天堂网
  • 做一个电影网站需要多少钱易观数据app排行