[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.레디 스에서는 고유 데이터 구조에 데이터를 저장하지 않습니다. 여러 데이터 구조, 키로 식별되는 각 하나를 만들어야합니다.
레디 스에서는 고유 데이터 구조에 데이터를 저장하지 않습니다. 여러 데이터 구조, 키로 식별되는 각 하나를 만들어야합니다.
당신의 키를 이름에 대한 규칙을 사용 : 예를 들어 사이트에서 <시> : 건물이 해당 사이트의 ID를 구축하는 목록을 포함하는 설정됩니다.
그런 다음 각 건물에 대한 설명을 저장하는 해시를 정의합니다. 이 해시의 키는 뭔가를 할 수있는 같은 건물 :
이름과 바닥 : 해시에서는 두 멤버가있다. 플로어 값은 바닥 식별자들의 목록을 포함하는 일련의 고유 ID이다.
그런 다음, 각 층에 대한 마지막 세트를 만들 방 이름을 저장합니다. 바닥 :
세트의 이름은 같은 것을 할 수 있습니다. 팁 :
from https://stackoverflow.com/questions/22150219/how-to-use-redis-to-store-hierarchical-data by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 500메가바이트 레디 스의 dump.rdb 파일은 5.0GB 메모리에 대해 왜 필요? (0) | 2020.01.18 |
---|---|
[REDIS] 봄 - 데이터 - 레디 스를 사용하여 레디 스 멀티 Exec에서 구현하는 방법 (0) | 2020.01.18 |
[REDIS] Node.js를을 사용하여 클러스터 ElastiCache에 연결하는 방법 (0) | 2020.01.18 |
[REDIS] Predis에서 MATCH 옵션 SCAN을 사용하는 방법 (0) | 2020.01.18 |
[REDIS] 각 그룹의 Redisearch 집계 반환 상위 5 (0) | 2020.01.18 |