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. Voletile-多线程小例子

    public class Test{ public static volatile int t = 0; //如果没有下面的全局锁标识,则结果不一定为10*1000 public static Str ...

  2. vue跨行跨列动态表格生成

    一.思路步骤: 根据后台传输的数据进行格式转化: 索引为多少的时候进行跨行: <table id="table"> <thead> <tr> & ...

  3. awk 计算

    [root@BJ-DATABASES lastday]# ps -aux| grep nginx|grep -v greproot 13783 0.0 0.0 56796 1208 ? Ss 11:1 ...

  4. 前端实现电子签名(web、移动端)通用组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. jekins+svn

    1.jekins安装可以看jekins+shell随笔. 2.安装svn. yum -y install subversion 3.配置相关文件 mkdir   家目录 cd 到家目录修改conf下三 ...

  6. 最大流模板(EK,Dinic

    一.EK EK算法:用bfs找增广路直到找不到为止.找到则更新最大流和残余网络,找不到则结束. 残余网络:对于一条走过的边,其正向边权值减少相应值,反向边权值增加相应值(用于反悔). 增广路:从所求起 ...

  7. PHP_工厂模式

    实例化类,先需要引入类文件,但是有时候我们并不知道可能要用到那些类,如果将所有类文件全部引入,会造成资源浪费,这时候可以采用工厂模式,专门用于 自动加载.实例化 类. 实例代码: 注:案例中假设有一个 ...

  8. [2015年NOIP提高组] 跳石头

    一年一度的"跳石头"比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 <spa ...

  9. html表白代码

    1.在电脑桌面右击鼠标选择新建--文本文档 2.并命名为:biaobai.txt 3.打开并且把一下代码复制并粘贴到biaobai.txt <!DOCTYPE html PUBLIC " ...

  10. docker+go+gin部署

    一.准备工作 1.先确保项目可以正常运行 二.编写Dockerfile文件,生成镜像 FROM golang:1.18.1 WORKDIR /go/src/app ADD ./ /go/src/app ...