본문 바로가기
IT

레디스[Redis] 실사용 사례 정리

by 결국 그렇고 그런이야기 2021. 9. 24.
반응형

Redis Redis 레디스 레디스 하면서
생각보다 레디스를 실제로 어떻게 사용하고 있는지에 대한 실 사례는 많지 않은 것 같아서
조금 모호하겠지만 추상적으로
한번 작성해보려고 한다.


일단 레디스[Redis] 값들을 확인하기 위해서는
GUI로 볼 수 있는 P3X Redis UI 튤 아주 유용하다. 나름 패치도 자주 하는 것 같고
무엇보다도 무료(커뮤니티 버전)!!!
https://www.electronjs.org/apps/p3x-redis-ui

P3X Redis UI | Apps | Electron

A very functional handy database GUI and works in your pocket on the responsive web or as a desktop app.

www.electronjs.org

P3X Redis UI is a very functional handy database GUI and works in your pocket on the responsive web or as a desktop app v2021.10.136

대략 P3X Redis UI 구성은 아래와 같다.


레디스[Redis]는 기본적으로 Key, value로 처리가 되고, 어떻게 구성하느냐에 따라 다르겠지만
Key 값 위 화면에서는 'Redis:Test:123:1' 이 값이 RDB에서는 Table이라고 생각하면 편할 것 같다.

Key가 같다면 아래 Hashkey에 담긴 내용들을 확인하여 원하는 처리를 하면 된다.
Redis 는 Database에 값을 넣고
읽어오는 것보다는 처리 속도가 장난아니게 빠르다.
하지만 저장하는 값들이 먼가 정렬되지 않은
또는 익숙하지 않은 느낌이라
임시데이터 확인용으로 쓰는것이 아직은 좋아보인다. 물론 이것은 개인적인 생각이다.

예를 들어, 인증코드를 저장하는 용도라던가,
RDB저장하기전 먼가 확인 필요한 단계 정도?

그 이유는 바로 TTL 설정인데.
일정 시간 이후 데이터가 지워지게 세팅이 가능하다.
참고로 하루 1Day는 86400초로 세팅이 가능하다.


간단히 생각해도 문자로 인증코드를 보낼때,
어디선가는 그 인증코드를 저장하고 있어야만
그 인증이 처리될때 확인 절차가 완료가 될텐데
타 기업들에서 어떻게 처리하는지는 모르겠지만

RDB에 굳이 인증코드를 저장하기 보다는
Redis를 이용하면 아주 간결하다.
그리고 RDB는 DML(Delete, update, Insert)이
많이 일어나면 성능도 떨어지고.
여러모로 Redis가 훨씬 유용하다고 생각한다.
(아마 RDB에 인증코드를 저장하는
옛 방법을 사용한다면,
인증 완료 이후 Delete 쿼리를 날려
데이터 삭제를 할 것으로 생각한다.)

머 필자도 DBMS전문가는 아니고
개발하며 사용하는 User의 입장이니 혹시나
이글을 읽는 DBA가 있다면
그리고 위 생각이 잘 못되었다면 알려주시면
다시 공부하겠다 ㅋ


구조를 그려본다면,
문자 인증 코드를 보내는 시스템/로직이 있다고 한다면

1. 문자 인증 코드 전송
(스마트폰에서 SMS를 보내겠지)
---> Redis에 code 저장
2. SMS 인증 시도 --->Redis code check
---> 맞다면 다음 스탭 처리 및 Redis data 삭제

이렇게만 하면 SMS Code 인증할 때,
RDB는 한번도 안 써도 된다.


휴 오늘은 여기까지.
담에는 P3X Redis UI에 테스트 값 임의로 넣고
조작하는거 정리해보아야지.
근데 P3X Redis UI 워낙 심플하게 잘 만들고
직관적으로 이해가 되어서
조금만 클릭해보면 감 잡히실듯.

질문, 잘못된 점은 댓글로.

반응형

댓글