html5本地存储主要有两种localStorage和sessionStorage

       都是使用相同api,存入后都是字符串类型

localStorage和sessionStorage使用方法:

1.setItem(key,value)   存储数据

                   

2.getItem(key)   获取数据

                    

           3.removeItem(key)      删除某一个缓存数据

           4.clear()                        清空所有缓存数据

           5.key(index)                 根据下标来获取存储字段

cookie:

test=test:就是存储的值和对应的名字     Max-Age=3600  就是过期时间1个小时

获取就是console.log(document.cookie);

localStorage、sessionStorage、cookie注意点:

        1.只能存储字符串,所以对象、数组、函数的储存需要转化字符串

使用JSON.stringify(value);存将对象转化为字符串格式;

使用JSON.parse(value);将字符串格式转化为对象;

 2.本地存储只能针对同源策略,其他不是同源的标签页面不能获取当前标签页的缓存

         3.性能与存储的大小无关,减少读取item的次数就能提高性能,所以多存少读,就能提高新能

localStorage:

         1.没有储存时间限制,关闭浏览器还是会保存数据;

          2.容量2~5Mb左右

sessionStorage:

           1.关闭浏览器时清空数据;

           2.各个浏览器不一,个别浏览器没有上限;

           

cookie:

            1关闭浏览器数据不清空,

            2可设置过期时间

            3.无论是服务端设置的还是客服端设置的,都会在请求头里带上cookie

            4.有大小限制,最好不超过4000字节

indexedDB使用方法:

           是html5的数据库:也是一种存储方法

           1.创建数据库

                 注意:版本号只能升,不能降,不然创建不成功

                 

                 用法:

                 

           2.在数据库创建"表"

                注意:1.必须在版本号升级中触发,才可以建表

                           

2.创建时,还有一个参数,有两种方式可以配置存放key的值

方法1:

方法2:

3.存数据的方法add(data)(前提:创建时必须配置存key的方式)

模式有两种:readwrite读写和readonly只读;

获取数据:get(key);   getAll()//获取所有数据

修改数据:put(data);  既可以修改,也可以新增;也有回调事件同获取

                         以keyPath:id存储为例:如果表存在id:1004则是修改,不存在则是新增;

                         

                   删除数据:delete(key);也有回调事件同获取

                         

                   全部删除:clear();也有回调事件同获取

                         

               4.索引

是key的升级版,有时候不想用系统的key,就可以使用索引,自定义key

创建时:createIndex(表,自定义的key,是否唯一)

获取时:

就可以通过index(表名字).get(自定义key)来获取值

                                        

5.游标:store.openCursor()  就是范围遍历

1.IDBKeyRange.only();查询唯一

2.IDBKeyRange.upperBound(),小于等于输出,如果有true,就只是小于

cursor.update({数据})更新某项值,cursor.delete({数据})删除数据

3.IDBKeyRange.lowerBound(),大于等于输出,如果有true,就只是大于

用法同上。。。。

4.IDBKeyRange.bound(n,m,true,true)

//参数1就是大于等于n,

//参数2就是小于等于m,

//参数3控制参数1,为true只大于,

//参数4控制参数2,为true只小于

6.索引+游标的好处:

索引按值搜索+游标范围遍历

localStorage/sessionStorage/cookie的更多相关文章

  1. localStorage sessionStorage cookie indexedDB

    目录: localStorage sessionStorage cookie indexedDB localStorage localStorage存储的数据能在跨浏览器会话保留 数据可以长期保留,关 ...

  2. 客户端 localStorage, sessionStorage, cookie 的区别

    SessionStorage, LocalStorage, Cookie这三者都可以被用来在浏览器端存储数据,而且都是字符串类型的键值对! 区别在于前两者属于WebStorage,创建它们的目的便是存 ...

  3. localstorage sessionstorage cookie的区别

    一.基本概念 Cookie cookie比较小,大小限制在4kb左右,是网景公司的前雇员 LouMontulli 在1993年3月的发明.它的主要用途有保存登录信息,比如你登录某个网站市场可以看到“记 ...

  4. localstorage sessionstorage cookie 备忘

    /* sessionStorage: 保存的数据用于浏览器的一次会话,当会话结束(通常是该窗口关闭),数据被清空: localStorage: 保存的数据长期存在,下一次访问该网站的时候,网页可以直接 ...

  5. 本地存储 localStorage/sessionStorage/cookie

    cookie是个基础的东西.是服务器发送到客户端,存储在客户端的一小段数据.可以存储一些配置信息,客户标识信息等.用户下次访问这个网站时,会把上次网站发来的cookie一同发送回去.cookie保存在 ...

  6. localStorage,sessionStorage,cookie使用场景和区别

    localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...

  7. localStorage&sessionStorage&Cookie

    localStorage.sessionStorage.Cookie三者区别如下:

  8. localStorage,sessionStorage,cookie区别

    localStorage:HTML5新增的在浏览器端存储数据的方法.设置和获取localStorage的方法: 设置: localStorage.name = 'zjj'; 获取: localStor ...

  9. sessionStorage 和 localStorage 、cookie

    sessionStorage 和 localStorage html5中web storage包括两种储存方式:sessionStorage 和 localStorage sessionStorage ...

  10. sessionStorage 、localStorage 与cookie 的异同点

    cookie 容量4kb,默认各种浏览器都支持,缺陷就是每次请求,浏览器都会把本机存的cookies发送到服务器,无形中浪费带宽.userdata,只有ie支持,单个容量64kb,每个域名最多可存10 ...

随机推荐

  1. N63050 第十六周运维作业

    第十六周 就业和全程班小伙伴本周学习内容: 第三十一天: 高性能服务器nginx 1LVS的跨网段实现 2LVS的防火墙标记和持久连接及高可用实现 3web服务和IO介绍 4IO复用模型 5nginx ...

  2. nginx 与 k8s ingress 配置转发websocket

    环境 10.1.100.10:70 是后端websocket 服务 需要通过nginx 向后端转发,nginx 配置文件如下 # cat test-ue4.conf map $http_upgrade ...

  3. python容易被忽略的问题

    1.int()强制转换浮点数 在int()的强制转换浮点数时候,不管是正数还是负数,只取整数部分. print(int(6.235)) # 6 print(int(-6.235)) # -6 注意:这 ...

  4. [CSS]背景图片很大,根据屏幕缩小适配后,div之间有空隙的问题

    RT.美术给的素材宽度是1080px的. 在不缩放的情况下,1080px宽度的屏幕显示div之间正常,没有空隙,但使用transform属性之后,div缩小,div之间有空隙(白线) 百度有人说给这些 ...

  5. Fast Report 分栏分页

    Layout 设置布局 AcrossThenDown是水平分栏  DownThenAcross是垂直分栏

  6. 【个人笔记】从本地源部署 Office 2016 专业增强版

    ## 0. 大大的说明 本文使用的 Office 2016 为 Office 2016 专业增强版零售版. 零售版需要使用 Office 部署工具才可以自定义安装组件,而 VOL 版本无需部署工具即可 ...

  7. 卸载K8s集群及k8s命令自动补全

    一.配置命令自动补全 yum install -y bash-completion source /usr/share/bash-completion/bash_completion source & ...

  8. Unity组件Toggle详解

    1.首先先搭建UI(如下图) 2.如果实现单选的功能需要在Image上面挂载ToggleGroup脚本组件 2.2 选中三个Toggle把ToggleGroup拖到如下图位置即可 2.AllowSwi ...

  9. BT做种

    BT方式:BT方式属于P2P传输,客户机之间可互传数据,大大提高传输效率,推荐使用.此处以qBittorrent做种为示例,主要有以下几个要点1.启用内置Tracker(或用其他同类软件代替)2.启用 ...

  10. js 俄罗斯方块 canvas

    俄罗斯方块背景- canvans 第一次写不知道说些什么好,直接上代码了@_@... jquery引入 <script src="https://cdn.bootcdn.net/aja ...