Search
Duplicate

redis

gpt

โ€ข
Redis ๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ์‚ฌ์šฉ๋ฒ•: Redis๋Š” ํ‚ค-๊ฐ’ ํ˜•ํƒœ์˜ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.
โ€ข
๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ช…๋ น์–ด๋Š” SET๊ณผ GET์ž…๋‹ˆ๋‹ค. SET์€ ํ‚ค-๊ฐ’ ์Œ์„ ์ €์žฅํ•˜๊ณ , GET์€ ํ‚ค์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๋ถˆ๋Ÿฌ์˜ต๋‹ˆ๋‹ค.
โ€ข
์ด์™ธ์—๋„ LIST, SET, HASH ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•˜๋ฉฐ ๊ฐ๊ฐ์— ๋งž๋Š” ๋ช…๋ น์–ด(LPUSH, LPOP, SADD, SREM ๋“ฑ)๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
โ€ข
@Cacheable, @CacheEvict ๋“ฑ์˜ ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ๋ฉ”์†Œ๋“œ์˜ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
Redis Pub/Sub: Redis์˜ Pub/Sub ์‹œ์Šคํ…œ์€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐœํ–‰(publish)ํ•˜๋ฉด ๊ตฌ๋…(subscribe)ํ•œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. Spring Data Redis์—์„œ๋Š” RedisMessageListenerContainer์™€ MessageListenerAdapter๋ฅผ ํ†ตํ•ด ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
Redis Transaction: Redis์˜ ํŠธ๋žœ์žญ์…˜์€ MULTI, EXEC, DISCARD, WATCH ๋“ฑ์˜ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. MULTI๋กœ ํŠธ๋žœ์žญ์…˜์„ ์‹œ์ž‘ํ•˜๊ณ , EXEC๋กœ ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์ค‘๊ฐ„์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด DISCARD๋กœ ๋ชจ๋“  ๋ช…๋ น์–ด๋ฅผ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
Redis Persistence: Redis๋Š” RDB(Redis DataBase)์™€ AOF(Append Only File) ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. RDB๋Š” ํŠน์ • ์‹œ์ ์˜ ์Šค๋ƒ…์ƒท์„ ์ €์žฅํ•˜๊ณ , AOF๋Š” ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋กœ๊ทธ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
โ€ข
Redis Sentinel ๋ฐ Cluster:
โ€ข
Redis์™€ Java์˜ ๊ฐ์ฒด ์ง๋ ฌํ™”: Java ๊ฐ์ฒด๋ฅผ Redis์— ์ €์žฅํ•˜๋ ค๋ฉด ์ง๋ ฌํ™” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด Java์˜ Serializable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ฑฐ๋‚˜, JSON ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด ๊ฐ์ฒด๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.jmeter, ngrinder