cookies,sessionStorage , localStorage和 indexDB 的区别

  1. 四个都是浏览器做数据缓存的
  2. 区别
    存储方式cookiessessionStorage localStorageindexDB 
    存储大小4K5M5M无限制
    与后端联系后端返回,在返回请求头部
    生命周期后端可以设置过期时间浏览器关闭失效手动释放手动释放
  3. 使用

    1. cookies

      1. session cookie 没有设置失效时间,浏览器关闭cookie就会失效

      2. thrid-party cookie 设置失效时间expires .ie出于安全考虑,不允许 img,iframe, link, script等标签中发送第三方cookie,火狐允许发送

    2. sessionStorage
       

      // 赋值
      let student1 = {id: '2013010818', name: 'wangyakun', sex: 'woman', age: 20}
      sessionStorage.setItem('student', student1)
      
      // 取值
      sessionStorage.getItem('student')
      
      // 删除
      sessionStorage.removeItem('student')
      
    3. localStorage
       

      // 赋值
      let student1 = {id: '2013010818', name: 'wangyakun', sex: 'woman', age: 20}
      loaclStorage.setItem('student', student1)
      
      // 取值
      loaclStorage.getItem('student')
      
      // 删除
      loaclStorage.removeItem('student')
    4. indexDB 是浏览器使用的一个本地存储,可以异步存储各种类型数据,由于需要各种监听,操作复杂,所以使用依赖库indexDBwrapper,方便了开发使用
      // 安装依赖库
      npm install indexdbwrapper
      // 引入 依赖
      import IndexDBWrapper form 'indexdbwrapper'
      // 使用
      // 创建一个实例
      const indexDb = new IndexDBWrapper(name, version, {onupgradeneeded })
      /* name: 数据库名
         version:数据库版本
         onupgradeneeded:数据库更新方法*/
      // 属性
      indexDb.db //db实际的 IndexDB IDBDatabase 对象。
      // 方法
      indexDb.open();// 打开数据库
      indexDb.close();// 关闭数据库
      indexDb.add(storeName, value,key)// 添加数据
      indexDb.clear(storeName)// 清空指定的store的数据
      indexDb.count(storeName)// 获取指定store的数据
      indexDb.get(key)// 指定 store 和主键获取数据
      indexDb.put(storeName, value, key?)// 指定 store 添加或更新数据
      indexDb.delete(storeName, key)// 指定 store 和 key 删除符合条件的数据
      indexDb.getKey(storeName, query)// 获取符合条件的 key
      indexDb.getAll(storeName, query, count)// 获取符合条件的所有数据
      indexDb.getAllKeys(storeName, query, count)//获取符合条件的所有 key
      indexDb.getAllMatching(storeName, { index, query = null, direction = "next", count, includeKeys })// 获取符合条件的所有数据
      indexDb.transaction(storeNames, type, callback)// 包装后的事务

       

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值