"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

오늘이군

Redis 살펴보기 본문

삶../프로그래밍

Redis 살펴보기

오늘이군 2020. 5. 22. 10:57
반응형

1. Redis 

Redis 는 오픈소스(BCD licensed) 이며 데이터를 메모리에 저장하며 영속성을 위해서만 디스크를 사용합니다.

  • 장점 및 특징
    1) 초당 110,000 건을 저장할 수 있고, 81,000 건을 조회 할 수 있습니다.
    2) 다양한 데이터유형을 지원합니다.
    3) Redis 의 동작은 atomic(한번에 하나의 커맨드를 실행하는 싱글 스레드 기반 동작) 하기 때문에 race condition(경쟁상태)이 발생하지 않습니다.
    4) 멀티 유틸리티 툴이며 다양한 케이스에 사용이 가능합니다. (캐싱, 메시지 큐, 세션, 방문자수 등 짧은 기간동안에만 필요한 데이터를 저장하기 위해 사용 될 수 있습니다.) 
  • 데이터 보존 방법
    1)  Master/slave 로 구성하여 Master 서버가 down 되어도 slave 로 접속해서 서비스 제공
    2) 디스크 쓰기 기능 사용 : 레디스 시작시 이 데이터를 읽어 들여 서비스를 수행

2. Redis 데이터유형

  • Sorted-Sets score 관련
127.0.0.1:6379> zadd sorted-sets-example 999999999999991.1 one
(integer) 1
127.0.0.1:6379> zadd sorted-sets-example 999999999999991.2 two
(integer) 1
127.0.0.1:6379> zadd sorted-sets-example 999999999999991.3 three
(integer) 1
127.0.0.1:6379> zrange sorted-sets-example 0 -1 withscores
1) "one"
2) "999999999999991.12"
3) "three"
4) "999999999999991.25"
5) "two"
6) "999999999999991.25"
127.0.0.1:6379>

 

기타1) Collection 설계 시 주의 사항

1) 하나의 컬렉션에 너무 많은 아이템을 담으면 좋지 않습니다.

  • 10,000개 이하 몇천개 수준으로 관리하는게 좋습니다.
  • 집합형 데이터구조(set list hash) 는 2의 32제곱 - 1 (4,294,967,295) 까지 저장은 가능 합니다.
  • Strings 의 key / value는 512MB 까지 저장이 가능하고 문자, 숫자, 이미지 등의 저장이 가능 합니다. (binary-safe strings)

2) expire 는 Collection 의 item 개별로 걸리지 않고 전체 Collection 전체에 대해서 걸리므로 해당 시간이 지나면 전체 Collection 이 삭제 됩니다.

기타2) Cache 전략

< Reference >
https://www.tutorialspoint.com/redis/index.htm

https://www.youtube.com/watch?v=mPB2CZiAkKM (https://www.slideshare.net/charsyam2/redis-196314086)

http://redisgate.kr/redis/command/strings.php

https://stackoverflow.com/questions/20295544/redis-sorted-set-wrong-score

https://codeahoy.com/2017/08/11/caching-strategies-and-how-to-choose-the-right-one/

반응형

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Comments