HTML 5浏览器端数据库
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浏览器端数据库的更多相关文章
- html5 浏览器端数据库
为什么使用浏览器端数据库:随着浏览器的处理能力不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少用户等待从服务器获取数据的时间. 一.localStorage — 本地存储 可 ...
- js IndexedDB:浏览器端数据库的demo实例
IndexedDB具有以下特点. (1)键值对储存. IndexedDB内部采用对象仓库(object store)存放数据.所有类型的数据都可以直接存入,包括JavaScript对象.在对象仓库中, ...
- 浏览器端获取短信验证码java实现——阿里云短信服务
需求:浏览器端输入手机号,获取验证码.点击登录,验证验证码是否输入错误.是否超时等情况,一旦校验通过,将用户数据保存到数据中(业务逻辑). 前提:注册阿里用户,开通短信服务,申请key.秘钥.签名.短 ...
- [原创]Spring-Security-Oauth2.0浏览器端的登录项目分享
1.简介 CitySecurity项目为正式上线项目做得一个Demo,这里主要介绍浏览器端的登录.本项目使用了SpringSecurity实现表单安全登录.图形验证的校验.记住我时长控制机制.第三 ...
- js接收对象类型数组的服务端、浏览器端实现
1.服务端 JSONArray jsonArr = JSONUtil.generateObjList(objList); public static generateObjList(List<O ...
- 为什么commonjs不适合于浏览器端
有了服务器端模块以后,很自然地,大家就想要客户端模块.而且最好两者能够兼容,一个模块不用修改,在服务器和浏览器都可以运行. 但是,由于一个重大的局限,使得CommonJS规范不适用于浏览器环境.还是上 ...
- [SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端
原文:[SignalR]SignalR与WCF双工模式结合实现服务端数据直推浏览器端 之前开发基于WinForm监控的软件,服务端基于Wcf实现,里面涉及双工模式,在客户端里面,采用心跳包机制保持与服 ...
- FingerprintJS - 在浏览器端实现指纹识别
FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系.默认情况下,使用 Murmur Hash 算法返回一个32位整数.Hash 函数可以很容易地更换. ...
- angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)
2015-10-26 angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前 ...
随机推荐
- linux下什么工具可以用来纠正文件中的拼写和排版错误?
答: ispell,官网在此
- 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 ...
- Oracle查询表和字段
查看表字段.类型.注释 SELECT A.COLUMN_NAME,B.comments,A.DATA_TYPE FROM USER_TAB_COLUMNS A LEFT JOIN user_col_c ...
- Build Telemetry for Distributed Services之OpenTracing指导:C#
官网链接:https://opentracing.io/guides/ 官方微博:https://medium.com/opentracing Welcome to the OpenTracing G ...
- delphi中Treeview的使用介绍
今天重点学习了TreeView的使用方法,基本的已经写了,现在主要想说的是如何显示数据库的资料,今天只是做了个较简单的例子,一个父节点下显示数据库中某个field的值.代码如下: procedure ...
- 【转】TCP/IP网络协议各层首部
数据包封装流程(逐层封装,逐层解封) 二层帧(二层帧中目的地址6个字节,源地址6个字节,长度/类型2个字节,二层帧共18个字节) ip头部(ip头部20字节) tcp头部(tcp头部20个字节): ...
- 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总
<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...
- Mysql批量插入返回Id错乱(原因分析)
在项目中经常会有如下场景: 往数据库中批量插入一批数据后,需要知道哪些插入成功,哪些插入失败了. 这时候往往会有两种思路,一个是在插入之前判断相同的记录是否存在,过滤掉重复的数据:另外一种就是边插入边 ...
- matplotlib画图总结--多子图布局
1.subplot布局 subplot(nrows, ncols, index, **kwargs) subplot(pos, **kwargs) subplot(ax) x=[1,2,3] valu ...
- Information retrieval (IR class1)
1. 什么是IR? IR与数据库的区别? 答:数据库是检索结构化的数据,例如关系数据库:而信息检索是检索非结构化/半结构化的数据,例如:一系列的文本.信息检索是属于NLP(自然语言处理)里面最实用的一 ...