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. VUE学习-表单输入绑定

    表单输入绑定 v-model 可以用 v-model 指令在表单 <input>.<textarea> 及 <select> 元素上创建双向数据绑定. v-mode ...

  2. Mysql优化工具

    https://blog.csdn.net/qq_29229567/article/details/106241831

  3. [JavaScript]内置对象Number初识

    学习:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number Number 类型 ...

  4. CentOS 7 yum安装MongoDB

    1.配置MongoDB的yum源 cd /etc/yum.repos.d vim mongodb-org-6.0.repo 2.添加下载配置文件(这里使用阿里云的源),保存退出 [mngodb-org ...

  5. JavaSE——this关键字

    this修饰的变量用于指代成员变量,其主要作用是(区分局部变量和成员变量的重名问题) 方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量 方法的形参没有与成员变量同名,不带 ...

  6. 一条sql同时返回多个count结果

    select * from (select alarm_content name, count(id) `count` from ai_alarm WHERE alarm_content IS NOT ...

  7. iOS开发之桌面快捷方式Quick Actions

    长按桌面APPIcon图标快捷操作添加功能开发 在支持 3D Touch 的设备上,Quick Actions 可以让用户更快,更少的操作步骤去完成他们最常做的事情,其中这么多操作可以通过主屏幕直接完 ...

  8. Centos7忘记root密码,修改root密码及其他用户密码

    具体步骤: 1.重启系统,在开机过程中,快速按下方向键↑和↓.在引导程序页面暂停. 2.选择第一行(背景高亮即为选中),按下键盘上的e,进入编辑模式 3.将光标一直移动到 LANG=en_US.UTF ...

  9. QT--QMainWindow窗口的状态栏设置

    QMainWindow窗口状态栏 实时显示时间: 1.获取实时时间使用定时器QTimer, QTimer *timer = new QTimer(); connect(timer, &QTim ...

  10. git介绍和常用操作