session storage可以删除吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了session storage可以删除吗相关的知识,希望对你有一定的参考价值。

  sessionStorage是用来存储客户端临时信息的对象。
  它均只能存储字符串类型的对象(虽然规范中可以存储其他原生类型的对象,但是目前为止没有浏览器对其进行实现)。
  sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么所有通过sessionStorage存储的数据也就被清空了。

  不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。
参考技术A

sessionStorage 和 localStorage 中的 key 都可以删除数据项,使用浏览器的 API 是 removeItem( key ),其中 key 是要删除的键,每次一个。

如果需要一次删除多个,可以通过使用 fastore 之类的第3方库,支持删除多个键:

store.remove( "key1, key2, key3" )

参考技术B html5中的Web Storage包括了两种存储方式:sessionStorage和localStorage。
sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。
而localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。
web storage和cookie的区别
Web Storage的概念和cookie相似,区别是它是为了更大容量存储设计的。Cookie的大小是受限的,并且每次你请求一个新的页面的时候Cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
除此之外,Web Storage拥有setItem,getItem,removeItem,clear等方法,不像cookie需要前端开发者自己封装setCookie,getCookie。
但是Cookie也是不可以或缺的:Cookie的作用是与服务器进行交互,作为HTTP规范的一部分而存在 ,而Web Storage仅仅是为了在本地“存储”数据而生(来自@otakustay 的纠正)
html5 web storage的浏览器支持情况
浏览器的支持除了IE7及以下不支持外,其他标准浏览器都完全支持(ie及FF需在web服务器里运行),值得一提的是IE总是办好事,例如IE7、IE6中的UserData其实就是javascript本地存储的解决方案。通过简单的代码封装可以统一到所有的浏览器都支持web storage。
要判断浏览器是否支持localStorage可以使用下面的代码:
if(window.localStorage) alert("浏览支持localStorage") else alert("浏览暂不支持localStorage") //或者 if(typeof window.localStorage == 'undefined') alert("浏览暂不支持localStorage")

localStorage和sessionStorage操作
localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等
localStorage和sessionStorage的方法
setItem存储value
用途:将value存储到key字段
用法:.setItem( key, value)
代码示例:
sessionStorage.setItem("key", "value"); localStorage.setItem("site", "js8.in");

getItem获取value
用途:获取指定key本地存储的值
用法:.getItem(key)
代码示例:
var value = sessionStorage.getItem("key"); var site = localStorage.getItem("site");

removeItem删除key
用途:删除指定key本地存储的值
用法:.removeItem(key)
代码示例:
sessionStorage.removeItem("key"); localStorage.removeItem("site");

clear清除所有的key/value
用途:清除所有的key/value
用法:.clear()
代码示例:本回答被提问者和网友采纳

严重: Exception loading sessions from persistent storage java.io.EOFException

启动项目时报以下异常

严重: Exception loading sessions from persistent storage
java.io.EOFException

 

遇到上述异常,删除Tomcat里面的work\Catalina\localhost下的项目文件内容即可解决.

原因是由于项目测试中class文件或者其它文件更新过频繁。

 

 

之前经常碰到页面修改后,重新发布的项目页面还是原样,不管删掉tomcat/webapps/发布的项目还是重新部署,都无法显示修改后的效果,

但是其他页面修改后又能显示。真是莫名其妙。

现在才知道是tomcat的问题,同样删除Tomcat里面的work\Catalina\localhost下的项目文件内容即可解决.


避免该错误的发生:

               该问题的原因是tomcat的session持久化机制引起的,tomcat这个功能本身的用意在于重启tomcat后保持之前的session,但是在tomcat非正常关闭后,tomcat尝试恢复session时读取失败,就抛出错误,不影响系统使用。

               如果需要避免这个问题关闭tomcat的持久化功能就就可以了,具体为修改conf下的server.xml文件。在项目的context间加入一句代码<Manager className=”org.apache.catalina.session.PersistentManager” saveOnRestart=”false”/>重启tomcat以后再也不会报这个错误了。

             注: 出处http://mtoou.info/tomcat-exception/

以上是关于session storage可以删除吗的主要内容,如果未能解决你的问题,请参考以下文章

小程序---数据缓存

使用 Laravel 删除文件

我可以从 Google Cloud Storage 工件存储桶中删除容器映像吗?

Docker中的Clickhouse选项experimental_allow_extended_storage_definition_syntax

将 Cloudfront 与 Active Storage 结合使用

Exception loading sessions from persistent storage