ํฐ์คํ ๋ฆฌ ๋ทฐ
[JavaScript] ์น ์คํ ๋ฆฌ์ง(localStorage, sessionStorage)๋?
๊ฐ๋ฐ๊ฐ๊ตด๐ธ 2022. 7. 13. 20:24์น ์คํ ๋ฆฌ์ง๋?
์น ์คํ ๋ฆฌ์ง๋ *์ฟ ํค์ ๋น์ทํ๊ฒ ํด๋น ๋๋ฉ์ธ๊ณผ ๊ด๋ จ๋ ํน์ ๋ฐ์ดํฐ๋ฅผ ์๋ฒ๊ฐ ์๋๋ผ ํด๋ผ์ด์ธํธ์ ์ ์ฅ ํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. HTML5์ ๋์ ๋ ์๋ก์ด ๊ธฐ๋ฅ์ผ๋ก, ์ฟ ํค์ ์ ์ฌํ์ง๋ง ์ฐจ์ด์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
*์ฟ ํค์ ๋ํด์ ์๋์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ธ์.
์น ์คํ ๋ฆฌ์ง์ ํน์ง๊ณผ ์ฟ ํค์์ ์ฐจ์ด์
- ํค์ ๊ฐ์ ์ ํํ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ
- ์ฟ ํค์ ๋ฌ๋ฆฌ, ์๋ฒ์ ์ ์ก๋์ง ์์ ์๋ฒ์ ๋ถ๋ด์ด ๊ฐ์ง ์์(์๋ฐ์คํฌ๋ฆฝํธ ๋ด์์ ์ํ)
- ์ฟ ํค์ ๋ฌ๋ฆฌ, ํ์ํ ๊ฒฝ์ฐ์๋ง ๊บผ๋ด ์ฐ๋ ๊ฒ์ด๋ผ ์๋ ์ ์ก์ ์ํ์ฑ์ด ์์
- ๋๋ฉ์ธ ๋จ์๋ก ์ ๊ทผ์ด ์ ํ๋๋ ํน์ฑ์ ๊ฐ์ง๊ณ ์์. ์ฆ, ๋ค๋ฅธ ๋๋ฉ์ธ์ ์์ฒญํด๋ ๊ฐ์ ์ฃผ์ง ์์(CSRF ์์ )
- 5KB๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ์์(์ฟ ํค๋ 4KB)
- ์ ํจ๊ธฐ๊ฐ์ด ์กด์ฌํ์ง ์์
- ๋ฌธ์ํ(string)๋ฐ์ดํฐ ํ์ ๋ง ์ง์
์น ์คํ ๋ฆฌ์ง์ ์ข ๋ฅ
์น ์คํ ๋ฆฌ์ง๋ localStorage์ sessionStorage 2๊ฐ์ง๋ก ๊ฐ๊ฐ์ ๊ณ ์ ํ ํน์ฑ์ ๊ฐ์ง๊ณ ์์ด ํ์์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค. ์ด๋ค์ window ๊ฐ์ฒด์ ํ๋กํผํฐ๋ก์ ์กด์ฌํ๋ฉฐ, ๊ฐ์ Storage ๊ฐ์ฒด๋ฅผ ์์ํ๊ธฐ ๋๋ฌธ์ ๋์ผํ ๋ฉ์๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์น ์คํ ๋ฆฌ์ง์ ๊ณตํต ๋ฉ์๋
๋ฉ์๋ | ์ค๋ช |
setItem(key, value) | ํค-๊ฐ ์์ ๋ณด๊ด |
getItem(key) |
ํค์ ํด๋นํ๋ ๊ฐ์ ๋ฐ์์ด |
removeItem(key) |
ํค์ ํด๋น ๊ฐ์ ์ญ์ |
clear() |
๋ชจ๋ ๊ฒ์ ์ญ์ |
key(index) |
์ธ๋ฑ์ค(index)์ ํด๋นํ๋ ํค๋ฅผ ๋ฐ์์ด |
length |
์ ์ฅ๋ ํญ๋ชฉ์ ๊ฐ์๋ฅผ ๊ฐ์ ธ์ด |
๋ก์ปฌ ์คํ ๋ฆฌ์ง(Local Storage)
window.loacalStorage๊ฐ์ฒด๋ก ๋ธ๋ผ์ฐ์ ๋ฅผ ์ข ๋ฃํด๋ ์ ์ง๋๋ ๋ฐ์ดํฐ์ ๋๋ค.
- ๋ช ์์ ์ผ๋ก ์ง์ฐ์ง ์๋ ํ ์๊ตฌ์ ์ผ๋ก ์ ์ฅ๋จ
- ๋๋ฉ์ธ๋ณ๋ก ์์ฑ๋์ด, ์๋ก ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ํญ์ด๋ผ๋ ๋์ผํ ๋๋ฉ์ธ์ด๋ผ๋ฉด ๋์ผํ ๋ก์ปฌ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉ
- ์ง์์ ์ผ๋ก ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ ๋ ์ฌ์ฉ (ex. ์๋ ๋ก๊ทธ์ธ)
localStorage.setItem('item', 1);
console.log(localStorage.getItem('item')); // ๋ค๋ฅธ ์ฐฝ์์ ๊ฐ์ ํ์ด์ง๋ฅผ ์ด์ด๋ด : 1
๊ฐ๋ฐ์ ๋๊ตฌ์ Applicaionํญ์์ Local Storage๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
์ธ์ ์คํ ๋ฆฌ์ง(Session Storage)
window.seeionStorage๊ฐ์ฒด๋ก ํญ/์๋์ฐ๋ฅผ ๋ซ๊ธฐ ์ ๊น์ง ์ ์ง๋๋ ๋ฐ์ดํฐ์ ๋๋ค.
- ์ธ์ ์ฟ ํค์ ๋ฌ๋ฆฌ, ํญ/์๋์ฐ ๋จ์๋ก ์ธ์ ์คํ ๋ฆฌ์ง๊ฐ ์์ฑ
- window ๊ฐ์ฒด์ ๋์ผํ ์ ํจ ๋ฒ์ ๋ฐ ์์กด ๊ธฐ๊ฐ์ ๊ฐ์ง
- ํญ/์๋์ฐ๋ฅผ ๋ซ์ ์ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋จ
- ๊ฐ์ ๋๋ฉ์ธ์ด๋๋ผ๋ ์ธ์ ์ด ๋ค๋ฅด๋ฉด ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์์
- ๋ ๋ฆฝ์ ์ผ๋ก ์๋ (๋ค๋ฅธ ์ธ์ ์คํ ๋ฆฌ์ง์ ์๋ก ์ํฅ์ ์ฃผ์ง ์์)
- ์ ์ ๋์ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅ(ex. ์ ๋ ฅ ํผ ์ ์ฅ, ์ผํ์ฑ ๋ก๊ทธ์ธ)
sessionStorage.setItem('item', 1);
console.log(sessionStorage.getItem('item')); // ์๋ก ๊ณ ์นจ ํ : 1
๊ฐ๋ฐ์ ๋๊ตฌ์ Applicaionํญ์์ Session Storage๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
[์ฐธ๊ณ ]
https://untitledtblog.tistory.com/47
'JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๋์ ๋ฐฉ์ (0) | 2022.06.20 |
---|---|
[JavaScript] ์ฐ๋ ๋(Thread) (0) | 2022.06.20 |
- Total
- Today
- Yesterday
- ๋ ์์ปฌ ํ๊ฒฝ
- fp
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- ์ด์์ฒด์
- ๋์์ธ ํจํด
- http
- Baekjoon
- ์ด๋ถํ์
- ์๊ณ ๋ฆฌ์ฆ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- ๋คํธ์ํฌ
- ํ๋ก๊ทธ๋๋จธ์ค
- ํฌํฌ์ธํฐ
- ์๋ฐ
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- ํ๋กํผํฐ
- ๋ฐฑ์ค node.js
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- git
- ํ๋กํ ์ฝ
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ฐฑ์ค
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ์ฝ๋ฉํ ์คํธ
- map
- ์นด์นด์ค ์ธํด
- ์ ์ญ ๋ณ์
- JavaScript
- TDD
- ๋ฐฑ์ค javascript
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |