๋ฐ์ํ Redis6 [Redis] redis ์บ์ ์๋ฒ ํ์ฉ ํ ์ฑ๋ฅ ๋น๊ต (feat.postman) ์๊ฐ ์ธก์ ํ๊ธฐ ์ํด์ postman์ป์ ์บ์ ์๋ฒ ์์ธ ๋( ์ผ๋ฐ์ ์ผ๋ก DB์๋ค๊ฐ๋ค)์๊ฐ ์ธก์ ํ ๋๋ ์ฌ๋ฌ๋ฒ apiํธ์ถํด์ ํ๊ท ์ ์ธ ๊ฐ์ผ๋ก ์๊ฐํด์ผ๋จ. ์บ์ ์๋ฒ ์ธ ๋์ฒ์์๋ ์ด๋ ๊ฒ ๋ธ์๋? cacheMiss๊ฐ ๋ฐ์ํด์ DB๊ฐ๋ค์๊ธฐ๋๋ฌธ ํ์ง๋ง ๋ค์ ๋๋ฒ์งธ๋ถํฐ + ํ๊ท ์ ์ผ๋ก7ms๋ก ์์ฒญ ๋นจ๋ผ์ง !!!! 370ms -> 7ms๋ก ์์ฒญ ๋นจ๋ผ์ง๊ฑฐ ํ์ธ ๊ฐ๋ฅ 2025. 11. 28. [Redis] Redis CacheAside ์ ๋ต ๊ฐ๋จํ ์ ์ฉํด๋ณด๊ธฐ @Cachable ์ด๋ ธํ ์ด์ (๊ฒ์ํ ํ ์ดํ๋ก์ ํธ) ์ผ๋จ ํ์ฌ ๋ด service์ฝ๋๋๋จ์ํ DB์ฐ๋ฌ์ ๊ฐ๊ณ ์ค๋ ์ฝ๋์.@Servicepublic class BoardService { private BoardRepository boardRepository; public BoardService(BoardRepository boardRepository) { this.boardRepository = boardRepository; } public List getBoards(int page, int size) { Pageable pageable = PageRequest.of(page -1, size); Page pageOfBoards = boardRepository.findAllBy.. 2025. 11. 28. [Redis] ์บ์ฑ ์ ๋ต-Cache Aside, Write Around / ์บ์ฑ ๋ป / TTL ๋ป ์บ์๋ผ๋๊ฑด... ์ ๊ณต ์์ ๋ค์ผ๋ฉด์ ์๋์์ด ๋ฐฐ์ด๊ฑฐ์ง๋ง..์์ผ ๊ฐ๋ตํ ๋ด ์ธ์ด๋ก ์ ๋ฆฌํด๋ณธ์ ์ ์๋ ๋ฏ ํด์ ์ ๋ฆฌํ๋ ์ค ๐Cache ๋?RAM์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ์ ์ฅ์. ์ฐ๋ฆฌ๊ฐ ํํ ์๋ DB๋ ๋์คํฌ์ ์ ์ฅ๋จ.๋ฐ๋ผ์ ์ฝ์ด์ค๊ธฐ, ์ฐ๊ธฐ์ ์๊ฐ์ด ๊ฑธ๋ฆผ. ๋ฐ๋ฉด์ RAM์ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๊ฒ ๋๋ฉด, ๋นจ๋ฆฌ ์๋ค๊ฐ๋ค๊ฐ ๊ฐ๋ฅํ๊ธฐ๋๋ฌธ์ ์กฐํ ์ฑ๋ฅ์ด ๋งค์ฐ ๋นจ๋ผ์ง.ํ์ง๋ง RAM๊ฐ๊ฒฉ์ด ๋น์ผ๋ฐ์ ๋ค ์ด์ ๊ฐ ์์ง์.. ๐์บ์ฑ ์ ๋ต 2๊ฐ์ง 1. Cache Aside ์ ๋ต์ด๋ป๊ฒ "์กฐํ"ํ ์ง์ ๊ดํ ์ ๋ต์ด๋ค.์ฐ์ , ๋ด๊ฐ ํน์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ์ถ์๋, ์ผ๋จ ์บ์๋ก ๊ฐ. ๊ทธ๋ฆฌ๊ณ ์บ์์ ๋ด๊ฐ ์ฐพ๋ ๋ฐ์ดํฐ๊ฐ์์ผ๋ฉด(=Cache Hit) ๊ฑ ๊ทธ๋๋ก ๊ฐ์ ธ์ค๊ณ ์์ผ๋ฉด(=Cache Miss) ๊ทธ์ ์์ผ DB๋ก ๊ฐ์ ์ฐพ์. ๊ทธ๋ฆฌ๊ณ DB์ .. 2025. 11. 25. [Redis] ์์ฃผ ์ฐ๋ ๋ช ๋ น์ด ์ ๋ฆฌ + ๋ค์ด๋ฐ ์ปจ๋ฒค์ ๐์์ฃผ ์ฐ์ด๋ ๋ช ๋ น์ด 7๊ฐ ์ ๋ฆฌโถ๏ธ๋ฐ์ดํฐ ์ ์ฅํ๊ธฐ - ๊ฐ์ฅ ๊ธฐ๋ณธ, ๋ง๋ฃ๊ธฐ๊ฐ ์์ดset [key] [value]set spacefish:name kimspacefish:name kim โถ๏ธ๋ฐ์ดํฐ ์ ์ฅํ๊ธฐ - ๋ง๋ฃ๊ธฐ๊ฐ ์๊ฒset [key] [value] ex [๋ง๋ฃ๊ธฐ๊ฐ(์ด)]set spacefish:hobby reading ex 30 โถ๏ธ๋ฐ์ดํฐ ์กฐํํ๊ธฐkey๊ฐ์ผ๋ก value๊ฐ ๋ญ์ง ์กฐํํ๋๊ฑฐ์get [key]get spacefish:name (nil) ๋์ค๋ฉด ์๋ค๋ ๋ป์ โถ๏ธ๋ง๋ฃ๊ธฐ๊ฐ ์กฐํํ๊ธฐttl [key]ttl spacefish:hobby23์ด ๋จ์๋ค๋ ๋ป์.. ~์๊ฐ์ด ํ๋ฌ 30์ด๊ฐ ๋ค ์ง๋๊ณ ~- 2 ๋ผ๊ณ ๋ธ : ํค๊ฐ ์๋ค๋ ๋ป (30์ด ์ง๋์ ์ญ์ ๋์ผ๋๊น) *๋ง์ฝ์ ๋ง๋ฃ๊ธฐ๊ฐ์ ์ง์ ํด๋.. 2025. 11. 24. [Redis] Windows์ Redis ์ค์นํ๊ธฐ โถ๏ธ์๋ ์ฌ์ดํธ์์ ํ์ฅ์ .msi์ ํ๋ก๊ทธ๋จ ์ค์นhttps://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redisRedis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redisgithub.com redis์ ๊ธฐ๋ณธ ํฌํธ๋ 6379์ด๋ค. ๊ธฐ๋ณธ 100MB์ด๋ค. โถ๏ธInstallํด์ ์ค์น ์งํ โถ๏ธ์์ ๊ด๋ฆฌ์>์๋น์คํญ ๋ค์ด๊ฐ๋ณด๋ฉด.. 2025. 11. 24. [Redis] MacOS์ Redis ์ค์นํ๊ธฐ โก๏ธTerminal ํค๊ณ homebrew ์ค์น (์ค์น ๋์ด์๋ ์ฌ๋์ skip)homebrew ์ค์น๋ ์๋ ๊ธ ์ฐธ๊ณ https://space-fish.tistory.com/50 brew์ค์น ๋์ด์๋์ง ํ์ธํ๋ ค๋ฉด terminal์ brew --version๋ผ๊ณ ์ณ์ ํ์ธ โก๏ธ ํฐ๋ฏธ๋์ redis ์ค์น ๋ช ๋ น์ดbrew install redis โก๏ธ ์ค์น ๋๋์ง ํ์ธbrew services info redis โก๏ธ redis ์์ํด๋ณด๊ธฐbrew services start redis startํ๊ณ ๋ค์ info ๋ณด๋๊น running์ ์ ๋๋ก ์ฒดํฌ ๋์ด์์. โก๏ธ redis ์ค์ง ๋ช ๋ น์ดbrew services stop redis stopํ๊ณ info๋ก ํ์ธํด๋ณด๋๊น ์ ๋ฉ์ถฐ์์. --๋ค์ redis ์์ํ๊ณ .. 2025. 11. 24. ์ด์ 1 ๋ค์ ๋ฐ์ํ