非永続的であり、現在のウィンドウのみにスコープが設定されていることを除けば、ローカル ストレージよりもセッション ストレージに利点 (パフォーマンス、データ アクセスなど) はありますか?
11 に答える
localStorageとsessionStorageは両方ともStorageを拡張します。の意図した「非永続性」を除いて、それらの間に違いはありませんsessionStorage
。
つまり、 に格納されたデータは、localStorage
明示的に削除されるまで保持されます。加えられた変更は保存され、サイトへの現在および将来のすべての訪問で利用できます。
の場合sessionStorage
、変更はタブごとにのみ利用できます。加えた変更は保存され、タブを閉じるまでそのタブの現在のページで使用できます。閉じると、保存されたデータは削除されます。
唯一の違いは、localStorage の有効期限が異なり、sessionStorage
それを作成したウィンドウが開いている間だけアクセスできることです。localStorage
あなたが削除するか、ユーザーが削除するまで続きます。ログイン ユーザー名とパスワードを保存して、セキュリティ上の理由から使用したいとします (つまり、別の人が後で自分のアカウントにアクセスする場合など)
。しかし、ユーザーの設定をマシンに保存したい場合は、おそらく. 概して:sessionStorage
localStorage
localStorage
localStorage
- 長期間使用する。
sessionStorage
- 変化するものや一時的なものを保存する必要がある場合に使用します
との主な違いはlocalStorage
、タブごとに一意sessionStorage
であることです。sessionStorage
タブを閉じると、削除されますsessionStorage
が、削除されlocalStorage
ません。また、タブ間で通信することはできません:)
もう 1 つの微妙な違いは、たとえば 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 に同意する
セッションストレージとローカルストレージの動作は同じですが、ローカルストレージはユーザーがキャッシュと Cookie を削除するまでデータを保存し、セッションストレージデータはセッションを閉じるまでシステムに保持されます。セッションストレージ作成ウィンドウ。
ローカル ストレージ:ユーザー情報データを有効期限なしで保存し続けます。このデータは、ユーザーがブラウザー ウィンドウを閉じても削除されず、日、週、月、年の間利用できます。
//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
セッション ストレージ: Web ユーザーがブラウザ ウィンドウを閉じたときにすべてのウィンドウが削除される点を除いて、ローカル ストレージの日付と同じです。
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
続きを読むクリック