복붙노트

[REDIS] 어떻게 계층 적 데이터를 저장하는 데 레디 스를 사용 하는가?

REDIS

어떻게 계층 적 데이터를 저장하는 데 레디 스를 사용 하는가?

내가 가게에 계층 데이터 세트를 가지고, 계층 구조는 예를 들어 사이트 / 구축 / 바닥, 데이터, 같다

{ 
   site:'New York',
   buildings: [
              {
                name:'building a',
                floors: [
                       'Ground':[{room:room1},{room:room2}],
                       'First':[{room:room1},{room:room2}]
                        ]
              }
          ] 
},
{ 
   site:'London',
   buildings: [
              {
                name:'building a',
                floors: [
                       'Ground':[{room:room1},{room:room2}],
                       'First':[{room:room1},{room:room2}]
                        ]
              }
          ] 
}

나는 세트로이 방에 데이터를 저장하기를 원하지만 나는 또한 사이트 이름이나 (사이트 이름 + 건물 이름) 또는 (이름 + 층을 구축 사이트 이름 +)를 선택하여 객실의 일부를 조회 할 수 있습니다

해결법

  1. ==============================

    1.레디 스에서는 고유 데이터 구조에 데이터를 저장하지 않습니다. 여러 데이터 구조, 키로 식별되는 각 하나를 만들어야합니다.

    레디 스에서는 고유 데이터 구조에 데이터를 저장하지 않습니다. 여러 데이터 구조, 키로 식별되는 각 하나를 만들어야합니다.

    당신의 키를 이름에 대한 규칙을 사용 : 예를 들어 사이트에서 <시> : 건물이 해당 사이트의 ID를 구축하는 목록을 포함하는 설정됩니다.

    그런 다음 각 건물에 대한 설명을 저장하는 해시를 정의합니다. 이 해시의 키는 뭔가를 할 수있는 같은 건물 :

    이름과 바닥 : 해시에서는 두 멤버가있다. 플로어 값은 바닥 식별자들의 목록을 포함하는 일련의 고유 ID이다.

    그런 다음, 각 층에 대한 마지막 세트를 만들 방 이름을 저장합니다. 바닥 : 세트의 이름은 같은 것을 할 수 있습니다.

    팁 :

  2. from https://stackoverflow.com/questions/22150219/how-to-use-redis-to-store-hierarchical-data by cc-by-sa and MIT license