2013-07-15 2 views
2

저는 알고 있습니다. localStorage는 최대 5MB까지만 지원합니다. 우리 애플리케이션에서는 localStorage를 사용할 계획입니다 (여러 탭을 지원하기 때문에 sessionStorage가 우리의 필요에 맞지 않습니다). 현재는 하나의 커다란 자바 스크립트 객체가 직렬화되어 localStorage에 저장됩니다. 장래에는 최대 15 개의 객체를 초과 할 수 있지만 그 이상은 아닙니다.LocalStorage 검색 및 지우기

문제는 localStorage를 지우는 것입니다. 우리의 응용 프로그램은 여러 가지 방법으로 로그인 할 수 있기 때문에 (SSO 등 ...). 따라서 로그인 페이지에 방문하지 않아도 응용 프로그램에 로그인 할 수 있으며 다른 응용 프로그램에서 로그 오프하면 응용 프로그램에서 로그 오프하거나 브라우저를 닫을 수 있습니다. 보안상의 이유로 사용자 세션이 끝나면 localStorage를 정리해야합니다.

그래서 우리는 personId를 localStorage에 저장하려고했습니다. html 응답과 함께 모든 페이지 요청에 서버에서 personId를 보내고 localStorage의 personId와 일치하지 않으면 localStorage가 지워집니다.

내 의심은 localStorage에서의 검색이 비동기 적이 지 않으므로 값이 큰 문자열이있는 15 개의 키 중에서 personId를 검색하는 데 많은 시간이 걸릴 것인가? 그래서, 당신은 너무 검색 코드를 공유 할 수 ... 당신도이 사이트에서 검색을 테스트 할 수 있습니다 http://jsperf.com/local-storage-set

:

localStorage.setItem("personId", 1234); 
localStorage.setItem("object1", "A very big serialized form of javascript object gets stored"); 
+0

사용자가 로그 아웃을 클릭하면 세션을 끝내고 반응 할 수있는 방법이 없기 때문입니다. –

+0

사용자가 브라우저를 닫고 로그 아웃을 클릭하면 어떻게됩니까? – Nageswaran

답변

2

쓰기 값은 정말 빠르고 크고 짧은 값 사이에 유의 한 차이가 없습니다 다른 사람들이 그것에 대해 살펴볼 수 있습니다.