[Spring Boot] Redis๋กœ ๋žญํ‚น ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ
ยท
Backend/Spring Boot
์šด๋™ ๋ชจ์ž„ ํ”„๋กœ์ ํŠธ์—์„œ ํŒ€ ๋žญํ‚น์„ ๋งก์•„์„œ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํŒ€ ๋žญํ‚น ๊ธฐ๋Šฅ์€ ์Šคํฌ์ธ  ์ข…๋ฅ˜๋งˆ๋‹ค ๊ฒฝ๊ธฐ, ์Šน, ๋ฌด, ํŒจ, ๋ ˆ์ดํŒ… ์ˆ˜๋กœ ์ •๋ ฌ๋œ ์ƒ์œ„ 10๊ฐœ์˜ ํŒ€์˜ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.      ์™œ Redis์ธ๊ฐ€?  ๋žญํ‚น ๊ธฐ๋Šฅ์€ ์„œ๋น„์Šค์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋กœ ์กฐํšŒ๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์œผ๋ฉด ๋Š๋ ค์ง„๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ด์ „์—๋Š” Redis๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , Spring Data JPA๋กœ ์กฐ๊ฑด(์šด๋™ ์ข…๋ฅ˜, ๊ฒŒ์ž„ ํƒ€์ž…, ์ •๋ ฌ ์กฐ๊ฑด)์— ํ•ด๋‹นํ•˜๋Š” RDB(MySQL)๋ฅผ ์กฐํšŒํ•˜์—ฌ ํŒ€ ๋žญํ‚น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ์—ˆ๋‹ค. `getTop10BySportsAndGameTypeOrderByPointDesc(sports, gameType)`(SQL๋กœ ORDER BY๋ฅผ ์“ด ๊ฒƒ์ด๋‚˜ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.)   ํ•˜์ง€๋งŒ ๋ฌธ์ œ๊ฐ€ ๋žญํ‚น ์กฐํšŒ์‹œ๋งˆ๋‹ค ORDER BY ..
[Redis] Spring Boot์— Redis ์—ฐ๋™ํ•˜๊ธฐ + RedisTemplate, RedisRepository
ยท
Backend/Spring Boot
Spring์—์„œ ์ง€์›ํ•˜๋Š” Spring Data Redis๋ฅผ ํ†ตํ•ด์„œ Redis์˜ DB์™€ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋‹ค. Spring Data Redis๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์„ค์ •๊ณผ Redis์˜ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.  Redis๋ฅผ Window์— ์„ค์น˜ํ•˜๋Š” ๊ณผ์ •๊ณผ Redis ์ž๋ฃŒ๊ตฌ์กฐ์™€ ๋ช…๋ น์–ด๋Š” ๋‹ค๋ฅธ ๊ธ€์— ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.      Spring Data Redis๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด `Redis 2.6` ์ด์ƒ์˜ ๋ฒ„์ „์ด ํ•„์š”ํ•˜๋‹ค.๊ทธ๋ฆฌ๊ณ  ์ด ๊ธ€์€ `Spring Boot 3.2` ๋ฒ„์ „ + `Java 17`์„ ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ๋‹ค. + `Lombok` ์ถ”๊ฐ€     ์˜์กด์„ฑ ์ถ”๊ฐ€Spring Initiaizer๋กœ ์‹œ์ž‘ํ•œ๋‹ค๋ฉด `Spring Data Redis(Access+Driver)`๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.  Gradleimpleme..
[Redis] Redis ์ž๋ฃŒ ๊ตฌ์กฐ์™€ ๋ช…๋ น์–ด
ยท
DB/Redis
Redis๋Š” key-value ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  Redis๋Š” key์— ํ•ด๋‹นํ•˜๋Š” value์˜ ๊ฐ’์œผ๋กœ ๋‹ค์–‘ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค. Redis๋Š” String, Set, List, Hash, Sorted Set ๋“ฑ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋งž๋Š” ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‹ค. ๋งŽ์€ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜์ง€๋งŒ, ๊ฐ€์žฅ ํ”ํ•˜๊ณ  ์ต์ˆ™ํ•œ String, Set, List, Hash, Sorted Set์— ๋Œ€ํ•ด์„œ๋งŒ ์†Œ๊ฐœํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. Strings ๋ฌธ์ž์—ด(์ˆซ์ž, ์ง๋ ฌํ™”๋œ ๊ฐ์ฒด, ์ด์ง„์ˆ˜ ๋“ฑ)์„ ์ €์žฅํ•œ๋‹ค. 512MB๊นŒ์ง€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช…๋ น์–ด ๊ณต์‹ ๋ฌธ์„œ ์‚ฝ์ž… SET name giraffe MSET name2 turtle color green rating 10 ์กฐํšŒ..
[Redis] Redis ์„ค์น˜ํ•˜๊ธฐ(Window) + GUI(RedisInsight) ์—ฐ๊ฒฐ
ยท
DB/Redis
in-memory ๊ธฐ๋ฐ˜์˜ NoSQL๋กœ, key-value์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ Redis๋ฅผ ์œˆ๋„์šฐ์—์„œ ์„ค์น˜ํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ๋‹ค. Redis์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์„ค๋ช…์€ 'Redis์˜ ๊ฐœ๋…๊ณผ ํŠน์ง•'์—์„œ ๋ณด๋ฉด ๋œ๋‹ค! ๊ณต์‹์ ์œผ๋กœ๋Š” Window ์ง€์› ์•ˆํ•จ Redis๋Š” ๊ณต์‹์ ์œผ๋กœ Window๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. Redis ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ œ๊ณตํ•˜๋Š” ํŒŒ์ผ์„ ๋ฐ›๋Š”๋‹ค๋ฉด Linux ๊ธฐ๋ฐ˜์˜ tar.gz ํŒŒ์ผ์„ ๋ฐ›๊ฒŒ ๋  ๊ฒƒ์ด๊ณ , ์ด๊ฑด ์œˆ๋„์šฐ์—์„œ ์„ค์น˜ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. (์‹œ๋„ ํ–ˆ์œผ๋‚˜ ํฌ๊ธฐ..) ๋˜ํ•œ, Redis ๊ณต์‹ ํ™ˆํŽ˜์ด์ง€์— ๊ฐ€๋ฉด Window์—์„œ Redis ๋ฅผ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ด์ฃผ๊ณ  ์žˆ๋‹ค. Install Redis on Windows ํ™ˆํŽ˜์ด์ง€์—์„œ๋Š” WSL2 (Windows Subsy..
[Redis] Redis์˜ ๊ฐœ๋…๊ณผ ํŠน์ง•
ยท
DB/Redis
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๊ณ ๋Š” MySQL, Oracle๊ณผ ๊ฐ™์€ RDBMS๋งŒ ์•Œ๊ณ  ์“ฐ๋˜ ์‹œ์ ˆ.. Redis์— ๋Œ€ํ•ด ‘์บ์‹ฑํ•  ๋•Œ ์“ด๋‹ค, ์ฑ„ํŒ… ์„œ๋ฒ„ ๋งŒ๋“ค ๋•Œ ์“ด๋‹ค, ๋žญํ‚น ์‹œ์Šคํ…œ ๊ตฌํ˜„ํ•  ๋•Œ ์“ด๋‹ค..’ ๋“ฑ์„ ๋“ค์—ˆ๋‹ค. ํ•˜์ง€๋งŒ Redis์— ๋Œ€ํ•ด ์ „ํ˜€ ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— Redis๋ฅผ ์™œ ์จ์•ผํ•˜๋Š”์ง€๋Š” ์•Œ ์ˆ˜ ์—†์—ˆ๋‹ค. ๋„๋Œ€์ฒด Redis๊ฐ€ ๋ฌด์—‡์ด๊ณ , ์–ด๋–ค ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธธ๋ž˜ Redis๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ผ๊นŒ? โ“ Redis๋ž€? Redis์— ๋Œ€ํ•ด ์ด๋ ‡๊ฒŒ ํ•œ ์ค„๋กœ ์†Œ๊ฐœํ•  ์ˆ˜ ์žˆ๋‹ค! in-memory ๊ธฐ๋ฐ˜์˜ NoSQL๋กœ, key-value์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค NoSQL Not Only SQL’๋กœ ‘SQL๋งŒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค’๋ผ๋Š” ๋œป์œผ๋กœ ๊ธฐ์กด์˜ RDBMS์™€๋Š” ๋‹ค๋ฅธ ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. DBMS(๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)..
[Redis] Redis Cloud ์‚ฌ์šฉํ•˜๊ธฐ + GUI RedisInsight
ยท
DB/Redis
NoSQL ์ค‘ ํ•˜๋‚˜๋กœ key-value ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” Redis๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ ์ž ์•Œ์•„๋ณด๋˜ ์ค‘, Redis์—์„œ ์ œ๊ณตํ•˜๊ณ  ์žˆ๋Š” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์ธ Redis Cloud์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. Redis๋ฅผ ํ•™์Šตํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ, ๋กœ์ปฌ์ด๋‚˜ Docker๋กœ Redis DB๋ฅผ ๊ตฌ์ถ•ํ•ด๋„ ๋˜์ง€๋งŒ.. Redis Cloud๊ฐ€ ๊ถ๊ธˆํ•˜๊ธฐ๋„ ํ•˜๊ณ , ํ•œ๋ฒˆ ์จ๋ณด๊ณ  ์‹ถ์–ด์„œ Redis Cloud์— ๊ฐ€์ž…ํ•ด์„œ ์จ๋ดค๋‹ค! (+ AWS์ฒ˜๋Ÿผ ํšŒ์›๊ฐ€์ž…์„ ํ•˜๋ฉด ๊ณ„์ •๋‹น 1๊ฐœ์˜ Redis DB๋ฅผ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.) Redis Cloud ํ™ˆํŽ˜์ด์ง€ https://redis.com/cloud/overview/ Redis Cloud – Fully Managed Cloud Service | Redis Redis Cloud pr..
giraffe_
'redis' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก