본문 바로가기

Redis5

[Redis] Sorted Set 구조로 선착순(랭킹) 기능 구현 이번 포스팅은 레디스에서 제공해주는 자료구조 중 하나인 Sorted Set을 간단하게 설명하고, Sorted Set을 이용해서 치킨 기프티콘 선착순 이벤트를 구현해봅니다. 1. 왜 레디스로 구현해야하나? 💡 선착순 이벤트에서 레디스가 사용되는 이유? 보통 선착순 이벤트는 특정 시간에 트래픽이 몰리기 때문에 서버가 다운되거나 원활하지 못한 이벤트를 참여해보신 적이 한 번씩 경험해보셨을 겁니다. 이번 포스팅에선, 레디스에서 제공하는 자료구조 중 하나인 Sorted Set을 활용하여 모든 요청이 DB에 바로 부하가 가지 않고 차례대로 일정 범위만큼씩 처리하는 구성을 해보려고합니다. 선착순 이벤트 시 대기하고 있는 인원에 대해 대기열 순번을 표출하기 용이합니다. 2. 레디스 Sorted Set ❓ Sorted .. 2022. 10. 1.
[Redis] 데이터 입출력 및 자료구조 실습 입출력 실습 -- 데이터 저장 key value set 1111 "backtony" -- 출력 OK -- 데이터 검색 key get 1111 -- 출력 "backtony" -- 현재 저장된 모든 키 출력 keys * -- 현재 저장된 키 중에서 1로 끝나는 key만 검색 keys *1 -- 삭제 key del 1111 -- 출력 (integer) 1 -- key 변경하기 set 1111 "backtony" rename 1111 1116 get 1116 -- 출력 "backtony" -- 현재 key 중 랜덤으로 key 검색 randomkey -- key의 존재 여부 확인 set 1111 "backtony" exists 1111 -- 출력 1은 존재 0은 존재하지 않음을 의미 (integer) 1 -- v.. 2022. 9. 8.
[Redis] Cluster 구축 / Redis-stats 모니터링 1. 구성도 3개의 서버에 각각 한개의 Master node를 놓고 각 서버마다 2개의 Slave를 배치한 뒤 Master의 Slave는 Master와 같은 서버가 아닌 다른 서버에 배치하는 구성입니다. 연습용으로 구축한 것이기 때문에 3개의 서버로 진행했지만 실제 업무에서 사용할 때는 각각 하나의 서버를 할당하여 총 9개의 서버를 만들고 진행해야 한다고 합니다. 2. Redis 설치 및 환경설정 Redis 설치 # redis 설치 sudo yum update -y sudo yum install gcc make -y wget http://download.redis.io/redis-stable.tar.gz tar xvzf redis-stable.tar.gz mkdir redis mv redis-stable.. 2022. 9. 5.
[Redis] 레디스 클러스터를 활용한 대량 트래픽 대응 왜 사용하는가? 하나의 테이블에 저장되는 데이터를 2개 이상의 서버로 동시에 분산 저장 하는 방법을 샤딩이라고 합니다. 샤딩을 통해 데이터를 분산 저장하다보면 장애가 생겨되어 데이터 유실이 발생할 수 있는데 이를 방지하기 위해 분산 서버마다 복제 서버를 함께 구축해서 운영합니다. 이와 같이 데이터 분산 처리를 위한 샤딩과 안정성 확보를 위한 복제 시스템은 함께 사용될 수밖에 없는데 이 2가지가 복합적으로 적용된 구성을 Redis 클러스터(Shared-Replication)라고 합니다. Redis Cluster 특징 Redis 서버는 기본적으로 16,384개의 슬롯을 가지는데 빅데이터를 여러 대의 서버에 분산 저장할 때 각 슬롯 당 데이터를 일정한 단위로 분류하여 저장할 때 사용됩니다. 예를 들어, 3대의.. 2022. 7. 17.
Redis 특징, 데이터 타입, 백업, 아키텍처 Redis 특징 1. Redis와 RDBMS와 가장 큰 차이점은 데이터 저장 위치이다. RDBMS → Disk 에 저장 Redis → Disk & Memory 에 저장 Memory에 저장이 된다는 부분은 캐싱이 가능하다는 뜻이고, 이는 즉 Data 처리 속도가 매우 빠르다는 뜻이다. Memory는 휘발성이라 재부팅시 Data가 날라가는데, Redis는 Disk 저장 기능도 같이 지원하므로 Data 보존이 가능하다. 2. 굉장히 많은 자료구조를 지원하기 때문에 개발 편의성을 높여준다. String, Bitmaps, Lists, Hashes, Sets, Sorted Set, Streams 캐싱 전략 1. 읽기 전략 : DB보다 캐시를 먼저 읽는다. 만약 캐시에 찾는 데이터가 없으면, DB를 뒤진 후 이를 다.. 2021. 7. 21.