[Redis] Redis์˜ ๊ฐœ๋…๊ณผ ํŠน์ง•
ยท
Backend/Database
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๊ณ ๋Š” 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
ยท
Backend/Database
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 | RedisRedis Cloud ..
[Spring Cloud] Eureka Registered instance ์ œ๊ฑฐํ•˜๊ธฐ
ยท
Backend/Jave&Spring
โ“ ๋ฌธ์ œ ์ƒํ™ฉ  Spring Cloud Gateway Service๋กœ ์—ฐ๊ฒฐํ–ˆ์„ ๋•Œ ์—ฐ๊ฒฐ์ด localhost๋กœ ๋˜์—ˆ๋‹ค๊ฐ€ ์„œ๋น„์Šคํ•˜๊ณ  ์žˆ๋Š” host๋กœ ์—ฐ๊ฒฐ์ด ๋˜์—ˆ๋‹ค๊ฐ€ ํ–ˆ๋‹ค.. Eureka Service url๋กœ ๋“ค์–ด๊ฐ€์„œ Eureka์— ๋“ฑ๋ก๋œ ์•ฑ๊ณผ ์ธ์Šคํ„ด์Šค๋“ค์„ ํ™•์ธํ•˜๋‹ˆ ํ•œ ์•ฑ์— ์—ฌ๋Ÿฌ ์ธ์Šคํ„ด์Šค๋“ค์ด ๋“ฑ๋ก๋˜์–ด ์žˆ์—ˆ๋‹ค. ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋“ค์„ Eureka Discovery Service ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•œ์ฑ„๋กœ ์“ฐ๋‹ค๊ฐ€ ํ•œ ์„œ๋ฒ„์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋“ค์ด ์ƒ์„ฑ๋˜์—ˆ๋‹ค. ์„œ๋น„์Šค๊ฐ€ ์ฃฝ์—ˆ์Œ์—๋„ DOWN์ด ๋˜์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ง์ ‘ ์ˆ˜๋™์œผ๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ๋‚ด๋ ค์•ผ ํ•˜๋Š”๋ฐ ์•„๋ฌด๋ฆฌ ๊ตฌ๊ธ€๋งํ•ด๋„ ๋‚ด๋ฆฌ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ๊ธฐ๊ฐ€ ์–ด๋ ค์› ๋‹ค.         ๐Ÿ’ก ํ•ด๊ฒฐChatGPT์—๊ฒŒ ๋ฌผ์–ด์™”๋‹ค!    SpringApplication.java@SpringBootApplic..
[Spring] Spring Boot์— QueryDSL ๋„์ž…๊ธฐ
ยท
Backend/Jave&Spring
์ผ๋ฐ˜์ ์œผ๋กœ Spring Boot ํ™˜๊ฒฝ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ, Spring Data JPA๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธ CRUD  ๋ฉ”์†Œ๋“œ์™€ Named Query ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ˆ๋˜๋Š” ๊ฒฝ์šฐ๋Š” JPQL์ด๋‚˜ Native Query๋กœ ์ž‘์„ฑํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ ๋กœ์ง์„ ๊ฐ€์ง„ ๊ฒฝ์šฐ์—๋Š” ๋ฉ”์†Œ๋“œ๋‚˜ ์ฟผ๋ฆฌ๋ฌธ์ด ๊ธธ์–ด์ ธ์„œ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๊ฒŒ ๋œ๋‹ค. ํŠนํžˆ Paging์ด๋‚˜ Sorting์„ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋  ๊ฒฝ์šฐ, ๊ตฌํ˜„์ด ๋ณต์žกํ•ด์ง€๊ฒŒ ๋œ๋‹ค.     ๐Ÿšจ ๋ฌธ์ œ ์ƒํ™ฉ ๋‚˜์˜ ๊ฒฝ์šฐ์—๋„ ์ด์ „ ํ”„๋กœ์ ํŠธ๊นŒ์ง€ Spring Data JPA๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” CRUD ๋ฉ”์†Œ๋“œ์™€ Named Query๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ–ˆ์—ˆ๊ณ , ์กฐ๊ธˆ ๋” ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€๋…์„ฑ์€ ์กฐ๊ธˆ์€ ๋–จ์–ด์ง€์ง€๋งŒ Native Query๋กœ ๋ณ„ ๋ฌธ์ œ์—†์ด ๊ตฌํ˜„์„..
[Spring] TypeError: Failed to execute 'fetch' on 'Window' : Request with GET/HEAD method cannot have body.
ยท
Backend/Jave&Spring
Swagger์—์„œ API๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š”๋ฐ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค!     ๐Ÿ’ป ์—๋Ÿฌ ๋ฉ”์‹œ์ง€Failed to execute 'fetch' on 'Window' : Request with GET/HEAD method cannot have body.     ๐Ÿ”Ž ์›์ธGet ๋ฐฉ์‹์œผ๋กœ RequestBody๋กœ ๋ณด๋‚ด๋ ค๊ณ  ํ–ˆ๋˜ ๊ฒƒ์ด ์›์ธ์ด์—ˆ๋‹ค. ์•„๋ฌด ์ƒ๊ฐ์—†์ด ์กฐํšŒ๋‹ˆ๊นŒ Get๋ฐฉ์‹์œผ๋กœ ํ•ด์•ผ์ง€~ ํ–ˆ๋‹ค.. @GetMapping("/one") public ResponseEntity list(@RequestBody TicketReq ticketReq) { try { List list = ticketService.getTicketList(ticketReq); if (list != nul..
[Spring/MySQL] SQL Error: 1064, SQLState: 42000 - MySQL ์˜ˆ์•ฝ์–ด ์‚ฌ์šฉํ•ด์„œ ๋‚˜๋Š” ์—๋Ÿฌ
ยท
Backend/Jave&Spring
๐Ÿ’ป ์—๋Ÿฌ ๋ฉ”์‹œ์ง€You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'match (distance, match_date, max_start_time, min_start_time, place_id) values ' at line 1     ๐Ÿ” ์›์ธํ…Œ์ด๋ธ”๋ช…์ธ match ๊ฐ€ MySQL ์˜ˆ์•ฝ์–ด์—ฌ์„œ ๋‚ฌ๋‹ค. MySQL ์˜ˆ์•ฝ์–ด ๋ชฉ๋ก์„ ๊ฒ€์ƒ‰ํ•ด์„œ ์ฐพ์€ ๊ฒฐ๊ณผ MATCH ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. https://zetawiki.com/wiki/MySQL_%EC%98%88%EC%95%BD%EC%96%B4 MySQL ์˜ˆ์•ฝ์–ด - ์ œํƒ€์œ„..
giraffe_
'Backend' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (5 Page)