659

非永続的であり、現在のウィンドウのみにスコープが設定されていることを除けば、ローカル ストレージよりもセッション ストレージに利点 (パフォーマンス、データ アクセスなど) はありますか?

4

11 に答える 11

951

localStoragesessionStorageは両方ともStorageを拡張します。の意図した「非永続性」を除いて、それらの間に違いはありませんsessionStorage

つまり、 に格納されたデータは、localStorage 明示的に削除されるまで保持されます。加えられた変更は保存され、サイトへの現在および将来のすべての訪問で利用できます。

の場合sessionStorage変更はタブごとにのみ利用できます。加えた変更は保存され、タブを閉じるまでそのタブの現在のページで使用できます。閉じると、保存されたデータは削除されます。

于 2011-04-02T12:34:42.917 に答える
174

唯一の違いは、localStorage の有効期限が異なり、sessionStorageそれを作成したウィンドウが開いている間だけアクセスできることです。
localStorageあなたが削除するか、ユーザーが削除するまで続きます。ログイン ユーザー名とパスワードを保存して、セキュリティ上の理由から使用したいとします (つまり、別の人が後で自分のアカウントにアクセスする場合など)
。しかし、ユーザーの設定をマシンに保存したい場合は、おそらく. 概して:sessionStoragelocalStorage
localStorage

localStorage- 長期間使用する。
sessionStorage- 変化するものや一時的なものを保存する必要がある場合に使用します

于 2013-03-01T21:05:07.850 に答える
35

との主な違いは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 です

于 2015-06-26T10:03:19.747 に答える
19

sessionStorageは と同じですが、localStorage1 つのセッションのデータのみが保存され、それを作成したブラウザ ウィンドウをユーザーが閉じると削除されます。

于 2013-04-07T10:29:20.447 に答える
9

パフォーマンスに関しては、私の(粗い)測定では、1000回の書き込みと読み取りで違いは見つかりませんでした

セキュリティに関しては、直観的には localStore が sessionStore の前にシャットダウンされる可能性があるように見えますが、具体的な証拠はありません-おそらく他の誰かがシャットダウンしますか?

機能的には、上記の digitalFresh に同意する

于 2011-04-02T12:36:32.793 に答える
6

セッションストレージとローカルストレージの動作は同じですが、ローカルストレージはユーザーがキャッシュと Cookie を削除するまでデータを保存し、セッションストレージデータはセッションを閉じるまでシステムに保持されます。セッションストレージ作成ウィンドウ。

于 2013-07-30T09:28:14.030 に答える
3

ローカル ストレージ:ユーザー情報データを有効期限なしで保存し続けます。このデータは、ユーザーがブラウザー ウィンドウを閉じても削除されず、日、週、月、年の間利用できます。

//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";

続きを読むクリック

于 2018-06-29T19:49:58.990 に答える