HTML 5浏览器端数据库
为什么要使用浏览器端数据库:随着浏览器处理能力的增强,越来越多的双喜鸟网站开始考虑在客户端存储大量的数据,这可以减少用户从服务器获取数据的等待时间。

1。本地存储-本地存储可以长时间存储数据而不受时间限制。

可以存储:数组、JSON数据、图片、脚本、样式文件

复制代码
功能测试()。{
如果(窗口。localstorage)//确定浏览器是否支持localstorage
var ls=窗口。本地存储;
LSsetitem(“name”,“zhang san”);和//设置值
var名称=ls。getItem(“name”);值
LSremoveitem(“name”);//删除数据
}否则{
alert(“浏览器不支持本地存储”);
}
}
复制代码
限制:存储数据不能在子域名之间共享;超出存储范围,可以使用LRU和FIFO技术进行处理;

2。会话存储生命周期是当前窗口或选项卡。一旦窗口或选项卡永久关闭,通过会话存储存储存储的所有数据将被清空。

索引数据库

1。使用indexeddb的原因

现有的浏览器端数据存储方案不适合存储大量数据:cookie不超过4KB,每个请求都将被发送回服务器;windows.name属性不安全。

没有统一的标准,本地存储在2.5MB到10MB之间(不同的浏览器)。因此需要一种新的解决方案,这就是indexeddb的背景。

2。什么是索引数据库

一般来说,indexeddb是一个浏览器端数据库,可以由Web脚本创建和操作。它允许存储大量数据,提供查找接口,还可以索引。

这些是本地存储没有的。就数据库类型而言,indexeddb不是关系数据库(它不支持SQL查询语句),而是更接近于nosql数据库。

三。索引数据库的特性。

(1)键值对存储。indexeddb使用对象存储来存储数据。所有类型的数据都可以直接存储,包括javascript对象。在对象仓库中,

数据以“键值对”的形式存储。每个数据都有其对应的键名。密钥名是唯一的,不能重复,否则将引发错误。

(2)异步性。indexeddb操作不会锁定浏览器,与同步的本地存储不同,用户仍然可以执行其他操作。异步设计的目的是防止大量数据的读写,降低网页的性能。

(3)支持服务。indexeddb支持事务,这意味着在一系列操作步骤中,只要一个步骤失败,整个事务就会被取消。数据库返回到事务发生之前的状态,并且不存在只重写部分数据的情况。

(4)indexeddb也受同一个域的限制,每个数据库对应创建的数据库的域名。不同域名的网页只能访问自己域名下的数据库,不能访问其他域名下的数据库。

(5)indexeddb的存储空间比本地存储大得多,一般不小于250MB。IE的存储容量为250MB,Chrome和Opera占剩余空间的百分比,而Firefox则没有容量限制。

(6)支持二进制存储。indexeddb不仅可以存储字符串,还可以存储二进制数据。

目前,Chrome27+、火狐21+、Opera15+和IE10+支持这个API,但Safari根本不支持它。

4。使用

a.确定浏览器是否支持索引数据库

查看代码
B.创建/打开数据库

查看代码
c.关闭数据库

查看代码
D.数据操作

在对新数据库执行任何操作之前,事务需要启动一个事务。在事务中,需要指定存储事务跨度的对象。
交易有三种模式
只读:只读,不能修改数据库数据,可以同时执行
读写:读写,允许你读写
版本更改:VerionChange

D1。添加数据

查看代码
D2。按键获取数据

查看代码
D3。读取集合

查看代码
D4。更新数据

查看代码
D5。删除数据

查看代码
D6。空数据

查看代码

好文章应该引起我的注意。

HTML 5浏览器端数据库的更多相关文章

  1. html5 浏览器端数据库

    为什么使用浏览器端数据库:随着浏览器的处理能力不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少用户等待从服务器获取数据的时间. 一.localStorage  — 本地存储  可 ...

  2. js IndexedDB:浏览器端数据库的demo实例

    IndexedDB具有以下特点. (1)键值对储存. IndexedDB内部采用对象仓库(object store)存放数据.所有类型的数据都可以直接存入,包括JavaScript对象.在对象仓库中, ...

  3. 浏览器端获取短信验证码java实现——阿里云短信服务

    需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...

  4. [原创]Spring-Security-Oauth2.0浏览器端的登录项目分享

    1.简介 ​ CitySecurity项目为正式上线项目做得一个Demo,这里主要介绍浏览器端的登录.本项目使用了SpringSecurity实现表单安全登录.图形验证的校验.记住我时长控制机制.第三 ...

  5. js接收对象类型数组的服务端、浏览器端实现

    1.服务端 JSONArray jsonArr = JSONUtil.generateObjList(objList); public static generateObjList(List<O ...

  6. 为什么commonjs不适合于浏览器端

    有了服务器端模块以后,很自然地,大家就想要客户端模块.而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行. 但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境.还是上 ...

  7. [SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端

    原文:[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端 之前开发基于WinForm监控的软件,服务端基于Wcf实现,里面涉及双工模式,在客户端里面,采用心跳包机制保持与服 ...

  8. FingerprintJS - 在浏览器端实现指纹识别

    FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系.默认情况下,使用 Murmur Hash 算法返回一个32位整数.Hash 函数可以很容易地更换. ...

  9. angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)

    2015-10-26 angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前 ...

随机推荐

  1. linux下什么工具可以用来纠正文件中的拼写和排版错误?

    答: ispell,官网在此

  2. LC 988. Smallest String Starting From Leaf

    Given the root of a binary tree, each node has a value from 0 to 25 representing the letters 'a' to  ...

  3. Oracle查询表和字段

    查看表字段.类型.注释 SELECT A.COLUMN_NAME,B.comments,A.DATA_TYPE FROM USER_TAB_COLUMNS A LEFT JOIN user_col_c ...

  4. Build Telemetry for Distributed Services之OpenTracing指导:C#

    官网链接:https://opentracing.io/guides/ 官方微博:https://medium.com/opentracing Welcome to the OpenTracing G ...

  5. delphi中Treeview的使用介绍

    今天重点学习了TreeView的使用方法,基本的已经写了,现在主要想说的是如何显示数据库的资料,今天只是做了个较简单的例子,一个父节点下显示数据库中某个field的值.代码如下: procedure ...

  6. 【转】TCP/IP网络协议各层首部

    ​ 数据包封装流程(逐层封装,逐层解封) 二层帧(二层帧中目的地址6个字节,源地址6个字节,长度/类型2个字节,二层帧共18个字节) ip头部(ip头部20字节) tcp头部(tcp头部20个字节): ...

  7. 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  8. Mysql批量插入返回Id错乱(原因分析)

    在项目中经常会有如下场景: 往数据库中批量插入一批数据后,需要知道哪些插入成功,哪些插入失败了. 这时候往往会有两种思路,一个是在插入之前判断相同的记录是否存在,过滤掉重复的数据:另外一种就是边插入边 ...

  9. matplotlib画图总结--多子图布局

    1.subplot布局 subplot(nrows, ncols, index, **kwargs) subplot(pos, **kwargs) subplot(ax) x=[1,2,3] valu ...

  10. Information retrieval (IR class1)

    1. 什么是IR? IR与数据库的区别? 答:数据库是检索结构化的数据,例如关系数据库:而信息检索是检索非结构化/半结构化的数据,例如:一系列的文本.信息检索是属于NLP(自然语言处理)里面最实用的一 ...