반응형

 

레디스(Redis)는 Key, Value 형태로 메모리에 저장을 하여 읽고 쓰기가 훨씬 더 빠르다. 그렇기에, 로그인을 할 때 레디스를 많이 사용하곤 하는데, 레디스에서 Key, Value 형태를 어떻게 쓰냐에 따라 직관적이거나 구조의 복잡성 등에 영향이 크다.


레디스(Redis) Key 구성하기

레디스를 처음 적용하면 거의 대부분은 단순한 key : value 형태로 많이 사용한다.

 

예를 들어, 우리가 로그인을 할 때 유저 정보에 대해서 레디스에 저장 key에 유저 ID 라는 텍스트를 넣고, value에 실제 유저 ID를 넣는다.

 

단순한 key : value 구조가 제일 직관적이고, 제일 사용하기도 편하다.

 

반면에, 하이라키 구조로 들어가면 depth가 커지면서 구조가 복잡해지기도 한다.

예를 들어, 아래의 구조를 보면 된다.

 

key에는 user:1001이 들어 있고, 그리고 그 유저에 대한 정보들을 구조로 나눠 하이라키 구조로 저장을 하고 있다.

이 경우에, 정리가 잘되어 있는 것처럼 보이지만 실제 레디스에서 데이터를 읽어오거나 업데이트를 할 때 코드를 짜기에는 그렇게 효율적이지 못한 구조다.

 

저 하이라키 구조를 json 형태로 만들어서 value에 다 집어 넣으면 더 괜찮지 않을까 싶다.

 

key의 구조에는 user 1개만 넣을 수도 있겠지만, redis 특성 상 redis-cli 창에서 keys * 단축키를 사용하면 존재하는 키를 다 보여준다.

 

이 key에서 어떤 정보를 가지고 있는지 구분이 어렵기 때문에 key에도 적당히 구분할 수 있는 데이터를 구성하여 key에 저장하는게 좋다.

 

예를 들어, 서울에 사는 홍길동도 있고, 성남에 사는 홍길동도 있다. 그래서, key에 서울-홍길동, 성남-홍길동 이런 식으로 명시만 해도 쉽게 확인할 수 있는 것처럼 말이다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기

코집사님의
글이 좋았다면 응원을 보내주세요!

*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*