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. 淘宝sign算法和使用教程

    前言 最新写的淘宝热卖插件系列里面有涉及到淘宝sign算法加密,这里博主分享一下之前找到算法和修改后的算法以及使用教程.在此希望能帮助更多的人,欢迎各位加入我的交流Q群:468458543,群内不定时 ...

  2. CF单机版终极猎手30人版安装教程

    本游戏是CF的单机版本,内含终极猎手30人版,可变身四种终极猎手.这个版本只有这一种模式,没有其他的幽灵模式.生化模式.爆破模式.团队模式等等,如果想玩上述的模式,你可以在其他地方找.值得注意的是这个 ...

  3. go+redis实现消息队列发布与订阅

    在做项目过程中,实现websocket得时候,不知道哪里写的不太合适,客户端消息收到一定程度,剩下的消息收不到,修改了缓冲区大小,还是没有解决问题,后面因为项目结束期比较紧张,没有时间调试消息的时候, ...

  4. ES搜索- term与match区别&bool查询

    term属于精确匹配,只能查单个词,tems可以匹配多个词(满足其中之一词的都会被搜索出来),多个词如果要同时匹配使用bool的must(must中带多个term): match进行搜索的时候,会先进 ...

  5. npm发布和修改详细教程

    登录 登录npm账号(没有账号需要先前往npm注册 https://www.npmjs.com/) npm login npm notice Log in on https://registry.np ...

  6. Python爬虫抓取图片(re模块处理正则表达式)

    import os.path import re import requests if __name__ == '__main__': # 如果不存在该文件夹则进行创建 if not os.path. ...

  7. JQuery 的$.each取值

    原文:https://www.cnblogs.com/zhaixr/p/7069857.html 1.遍历一维数组 var arr1=['aa','bb','cc','dd']; $.each(arr ...

  8. git学习资料汇总

    学习持续开发和持续继承CI/CD  https://zhuanlan.zhihu.com/p/609519307 git工作流主题 https://github.com/oldratlee/trans ...

  9. 调度器30—调度相关结构体—p->flags

    一.PF_EXITING 1. 赋值路径 各驱动和内核机制中直接调用 SYSCALL_DEFINE1(exit, int, error_code) //exit.c do_exit(code); // ...

  10. JAVA学习笔记-07

    局部内部类不能定义静态成员. 内部类定义在局部时: 1不可以被成员修饰符修饰 2.可以直接访问玩不类中的成员,因为还持有外部类中的引用 但是不可以访问它所在的局部中的变量,只能访问被final修饰的局 ...