非永続的であり、現在のウィンドウにのみスコープが設定される以外に、ローカルストレージよりもセッションストレージにメリット(パフォーマンス、データアクセスなど)はありますか?
非永続的であり、現在のウィンドウにのみスコープが設定される以外に、ローカルストレージよりもセッションストレージにメリット(パフォーマンス、データアクセスなど)はありますか?
回答:
localStorageとsessionStorageはどちらもStorageを拡張します。の意図された「非永続性」を除いて、それらの間に違いはありませんsessionStorage
。
つまり、に格納されたデータは、localStorage
明示的に削除されるまで存続します。加えられた変更は保存され、サイトへの現在および将来のすべてのアクセスで利用できます。
の場合sessionStorage
、変更はタブごとにのみ使用できます。加えられた変更は保存され、閉じられるまでそのタブの現在のページで使用できます。いったん閉じると、保存されているデータは削除されます。
唯一の違いは、localStorageの有効期限は異なり、sessionStorage
それを作成したウィンドウが開いている間のみアクセスできることです。localStorage
削除するか、ユーザーが削除するまで続きます。
あなたが使用したいログインユーザ名とパスワードを保存したいと言うことができますsessionStorage
以上のlocalStorage
セキュリティ上の理由を(すなわち。後で自分のアカウントにアクセスして別の人)。
あなたは自分のマシン上でのユーザーの設定を保存したい場合しかし、あなたはおそらくたいですlocalStorage
。概して:
localStorage
-長期使用に使用します。
sessionStorage
-変化するものや一時的なものを保存する必要がある場合に使用します
ローカルストレージとセッションストレージの違いを理解するのに役立つ他のポイントはほとんどありません
ローカルストレージとセッションストレージはどちらもドキュメントの作成元を範囲とするため、
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
上記のすべてのURL が同じストレージを共有することはありません。(Webページの通知パスはWebストレージに影響しません)
異なるタブで開いている同じ生成元ポリシーを持つドキュメントでもセッションストレージは異なるため、2つの異なるタブで開いている同じWebページはが同じセッションストレージを共有する。
ローカルストレージとセッションストレージのどちらも、ブラウザベンダーが対象としています。そのため、IEで保存したストレージデータをChromeやFFで読み取ることはできません。
お役に立てれば。
との主な違いはlocalStorage
、タブごとに固有でsessionStorage
あることsessionStorage
です。タブを閉じると、sessionStorage
削除されlocalStorage
ません。また、タブ間で通信することはできません:)
別の微妙な違いは、たとえばSafari(8.0.3)localStorage
では2551 k文字の制限がありsessionStorage
ますが、ますが、ストレージ無制限です
Chrome(v43)ではlocalStorage
とsessionStorage
5101 k文字に制限されています(通常モードとシークレットモードの違いはありません)
FirefoxではlocalStorage
、sessionStorage
5120 Kの文字(ノーマル/プライベートモードとの違いはありません)に制限されています
速度にまったく違いはありません:)
Mobile SafariとMobile Chromeにも問題があります。プライベートモードのSafariとChromeの最大容量は0KBです
sessionStorage
はlocalStorage
1つのセッションのデータのみを保存し、ユーザーがそれを作成したブラウザウィンドウを閉じると削除されることを除いて、と同じです。
パフォーマンスに関しては、私の(粗雑な)測定では、1000回の書き込みと読み取りに違いはありませんでした。
セキュリティに関しては、直感的には、localStoreがsessionStoreの前にシャットダウンされるように見えるかもしれませんが、具体的な証拠はありません。
機能的には、上記のdigitalFreshに同意
ローカルストレージ:ユーザー情報データを有効期限なしで保存します。このデータは、ユーザーがブラウザウィンドウを閉じたときに削除されず、日、週、月、年で利用できます。
//Set the value in a local storage object
localStorage.setItem('name', myName);
//Get the value from storage object
localStorage.getItem('name');
//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege
セッションストレージ:ローカルストレージの日付と同じですが、ウェブユーザーがブラウザウィンドウを閉じたときにすべてのウィンドウが削除されます。
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
続きを読むクリック
sessionStorage
ページセッションの期間中(ページの再読み込みや復元を含め、ブラウザが開いている限り)使用可能な特定のオリジンごとに個別のストレージ領域を維持します
localStorage
同じことを行いますが、ブラウザを閉じて再度開いた場合でも保持されます。
これはhttps://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_APIから取得しました