본문 바로가기
반응형

Delvelopment/Redis7

프로모션을 대비한 대기열 시스템 구성하기 (Redis, WebSocket, Spring) 회사내 기술블로그에 작성했던 글인데.. 기술블로그 오픈에 대한 내용이 홀딩되면서 1년이 지난 시점에 재작성 해봣다. BackEnd 위주 구성에 대한 내용들이니 참고하길 바랍니다~! ✔개요 대기열 시스템의 탄생 배경 이번에 회사에서 새로운 상품을 오픈하기 위해 대대적인 마케팅?을 진행한다는 것을 전달받아 대기열 시스템을 설계, 개발을 진행했습니다. 왜? 우리는 대기열 시스템이 필요했을까? 현재 대고객 서비스를 위한 개발 및 운영하고 있으며, 상품에 대한 주요정보 등을 코어영역와의 통신을 통해 처리하고 있다. (우리는 고객을 상대하는 채널이다.) 우리가 도입하려는 대기열 시스템은 고객의 동접을 대응하지 못할때 FIFO(선입선출) 방식으로 순차적으로 트래픽을 처리하기 위한 방안입니다. 레거시 시스템의 경우에는.. 2022. 8. 10.
[REDIS] Sorted Set 명령어 정리 이번에 Redis 자료형 중 Sorted Set 을 사용하여 관련 명령어를 정리하고자 한다. Sorted Set - Set과 Hash가 혼합된 타입이다. - 하나의 Key에 Socre와 Value로 구성이된다. - Socre 기준으로 정렬이 가능한 형태이다. (Score : floating point value) - Value는 Score로 Sort되며 Score가 같으면 Value로 Sort 된다. [ZADD] Key에 Value, Score를 추가 redis> ZADD myzset 1 "one" (integer) 1 redis> ZADD myzset 1 "uno" (integer) 1 redis> ZADD myzset 2 "two" 3 "three" (integer) 2 redis> ZRANGE my.. 2021. 8. 6.
캐시(Cache) Local Cache & Global Cache Cache (캐시) 란? Cache는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래걸리는 경우나 값을 다시 계싼하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간이 없어 더 빠른 속도로 데이터에 접근 가능하다. DBMS의 부하를 줄여주고 성능을 높혀주나, Disk가 DB에 비해 작아 비용이 비싸다. 캐시는 시스템의 효율성을 위해 여러 분야에서 두루 쓰이고 있다. 보통 Spring framework 에서 개발을 진행하면서 Cache는 ehCache와 Redis를 주로 사용한다. Local Cache (ehCache [Heap]) Local 장비 내에서만 사용 되는 캐.. 2021. 3. 11.
Redis의 자료형, 특징과 시간복잡도 그리고 클러스터 Redis 레디스(Redis)는 Remote Dictionary Sever의 약자로 Key-Value 구조로 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다. 모든 데이터를 메모리로 불러와서 처리하는 메모리 기반 DBMS이다. BSD라이선스를 따른다. Redis는 가장 인기 있는 key-value 저장소이다. 외부층에서 Redis의 데이터 모델은 Key를 Value에 매핑하는 자료구조의 디렉토리 이다. Redis 그리고 기타 구조화된 스토리지 시스템 사이의 주요 차이점 중 하나는 Redis는 스트링뿐만 아니라 자료구조의 추상적 자료형(abstract Data)도 지원을 한다는 점이다. 문자열의 리스트 문자열의 집합 (반복되지 않고 정렬되지 않은 요.. 2021. 3. 10.
REDIS Key Evict 하는 두가지 방법 (키 삭제, 키 초기화) REDIS 를 사용하여 운영중 REDIS 특정 key를 삭제해야하는 경우가 있다. redis 서버에 들어가서 특정 key를 삭제할때는 Del key명 만 입력하면된다. Del Key명 JAVA쪽에서는 연결된 redis 의 key를 제거하는 방법이 두가지있다. (실제 나는 evict 하는 기능을 API 프로젝트에서 작업했다. 보통 관리자가 사용하는 admin에서 data가 변경되었을때 redis key 수정이 필요하기 때문에 key를 삭제하는 것이다. 이 후 해당 key를 사용하는 페이지에 재접속하게 되면 서비스에서는 key가 재생성 될 것이다.) 1. 특정 key명을 Evict하는 방법. 2. 원하는 key 명을 조회해서 Evict하는 방법. (다만 2번은 REDIS 설정에 따라 가능여부가 다르다. Sc.. 2020. 3. 13.
REDIS 명령어 (keys, Scan, get, flushall, Del 등) REDIS 기본 명령어 이다. 개인 Redis 서버에서는 keys 패턴 으로 조회를 많이하지만 key가 많은 회사 서버에서는 Scan 명령어를 이용한다. scan 0 match key명 Redis 실행 redis-server 키 조회 Keys * 키 타입 조회 Type key명 Key Value 조회 Get key명 Key 전체삭제 flushall Key 1개 삭제 Del key명 구분 SET GET POP REM INCR 집합연산 Strings SET GET - DEL INCR - Lists LPUSH LRANGE LPOP LREM - - Sets SADD SMEMBERS SPOP SREM - SUNION ZSets ZADD ZRANGE ZPOPMIN ZREM ZINCRBY ZUNION Hashes H.. 2020. 3. 13.
반응형