IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> js浏览器数据库 IndexedDB && Web SQL -> 正文阅读

[大数据]js浏览器数据库 IndexedDB && Web SQL

一、IndexedDB (建议使用)

1.介绍:

随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。

现有的浏览器数据储存方案,都不适合储存大量数据:Cookie 的大小不超过4KB,且每次请求都会发送回服务器;LocalStor?

age 在 2.5MB 到 10MB 之间(各家浏览器不同),而且不提供搜索功能,不能建立自定义的索引。所以,需要一种新的解决方案,这就是 IndexedDB 诞生的背景。

2.IndexedDB 具有以下特点:

? ? ? ? (1).键值对储存 (2).异步 (3).支持事务 (3).同源限制 (5).储存空间大 (6).支持二进制储存

indexedDB 使用的基本使用代码:

// indexedDB使用他的open方法创建一个浏览器数据库
var indB = indexedDB.open('indB', 1)
// 用来存储数据库内的表
var db;
// 数据库打开成功的回调
indB.onsuccess = function (tx) {
    // 如果以前就有这个是数据库的话就将里面的表放到db中
    db = indB.result
    console.log('数据库开启成功');
}
// 第一次打开数据库时调用
indB.onupgradeneeded = function (tx) {
    // 并将里面的表放入到db中
    db = tx.target.result
    // 如果没有person这张表的话那么就创建一个
    if (!db.objectStoreNames.contains('person')) {
        // 规定必须有一个键key
        // autoIncrement:true
        db.createObjectStore('person', { keyPath: 'id' })
    }
}
// 添加 add
function add(value) {
    // transaction开启一个事物
    db.transaction(['person'], 'readwrite')
        // 拿到其中的一张表
        .objectStore('person')
        // 添加的值
        .add(value)
}
// 删除 delete
function del() {
    db.transaction(['person'], 'readwrite')
        .objectStore('person')
        .delete(1)
}
// 编辑 put
function edit() {
    db.transaction(['person'], 'readwrite')
        .objectStore('person')
        .put({ id: 2, name: '张三' })
}
// 查询 get
function get(key) {
    return new Promise((reslove, reject) => {
        var req = db.transaction(['person'], 'readwrite')
            .objectStore('person')
            .get(key)
        req.onsuccess = function (res) {
            reslove(res.target.result)
        }
    })
}
//调用 
setTimeout(() => {
    
}, 1000);

二、HTML5 Web SQL 数据库(不建议使用)

介绍:

Web SQL 数据库 API 并不是 HTML5 规范的一部分,但是它是一个独立的规范,引入了一组使用 SQL 操作客户端数据库的 APIs。

如果你是一个 Web 后端程序员,应该很容易理解 SQL 的操作。

但是由于Web SQL长时间不维护,逐渐的被淘汰掉,导致兼容性不太好,已经很少用到了,因为很少人会为了用Web SQL而去维护,简单的写下不建议使用。

代码:

// web SQl
var db = openDatabase('mongo', 1, '数据库', 0)
console.log(db);
db.transaction(i => {
    i.executeSql('create table if not exists student (id unique,name)')
})
// 添加
db.transaction(i => {
     i.executeSql('insert into student (id,name) values(?,?)', [1, "张三"])
     i.executeSql('insert into student (id,name) values(?,?)', [2, "李四"])
})
// 读取
db.transaction(i=>{
    i.executeSql('select * from student',[],(i,res)=>{
        console.log(res.rows);
    })
})

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-25 12:36:07  更:2021-10-25 12:37:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:06:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码