[REDIS] 레디 스를 통해 Node.js를 응용 프로그램에서 중첩 된 해시를 저장
REDIS레디 스를 통해 Node.js를 응용 프로그램에서 중첩 된 해시를 저장
나는 node_redis를 사용하고 있는데 나는 같은 구조를 저장하려면 :
{
users :
"alex" : { "email" : "alex@gmail.com",
"password" : "alex123"},
"sandra" : { "email" : "sandra@gmail.com",
"password" : "sandra123"},
...
}
현재, 각 사용자에 대해 내가 JSON 객체를 생성 :
jsonObj = { "email" : "alex@gmail.com",
"password" : "alex123"}
과을
db.hmset("alex", JSON.stringify(jsonObj))
그것은 다른 구조의 내장이 구조 가능 (사용자의 하나?) 어떻게이 구조를 사용자 [ "알렉스"] 설정할 수 있습니다?
해결법
-
==============================
1.내가 아는 한이 레디 스에서 중첩 된 구조를 기본적으로 지원하지 않지만 그들은 (계층 나무와 유사) 세트 + 해시와 예를 들어 모델링 할 수 있습니다. 해시 필드 및 아마도 단일 JSON 객체의 값을 저장하기에 가장 적합하다. 내가 뭘 할 것은, 예를 들어, (A 레디 스 규칙은) 접두사와 각 사용자를 저장하는 것입니다 :
내가 아는 한이 레디 스에서 중첩 된 구조를 기본적으로 지원하지 않지만 그들은 (계층 나무와 유사) 세트 + 해시와 예를 들어 모델링 할 수 있습니다. 해시 필드 및 아마도 단일 JSON 객체의 값을 저장하기에 가장 적합하다. 내가 뭘 할 것은, 예를 들어, (A 레디 스 규칙은) 접두사와 각 사용자를 저장하는 것입니다 :
db.hmset("user:alex", JSON.stringify(jsonObj));
다음 키라는 이름의 사용자와 한 세트로 그룹 사용자에게 세트를 사용합니다. 그때 hgetall와 개별적으로 각각의 smembers이 명령에 의해 사용자의 키를 모두 얻을 액세스 할 수 있습니다.
-
==============================
2.당신은 객체로 하위 구조를 저장하고 오히려 포인터처럼 주요 구조 내에서의 ID를 저장할 수 있습니다. 따라서, 귀하의 예를 주어, 나는 다음을 수행 할
당신은 객체로 하위 구조를 저장하고 오히려 포인터처럼 주요 구조 내에서의 ID를 저장할 수 있습니다. 따라서, 귀하의 예를 주어, 나는 다음을 수행 할
{ users : "alex" : { "email" : "alex@gmail.com", "password" : "alex123"}, "sandra" : { "email" : "sandra@gmail.com", "password" : "sandra123"}, ... } $x = incr idx:user hmset user:$x email alex@gmail.com password alex123 sadd list:user $x $x = incr idx:user hmset user:$x email sandra@gmail.com password sandra123 sadd list:user $x
이 해결 방법이 도움이되기를 바랍니다
from https://stackoverflow.com/questions/5701491/save-nested-hash-in-redis-via-a-node-js-app by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 레디 스 CLI를 사용하여 명령을 일괄 실행 (0) | 2020.01.02 |
---|---|
[REDIS] 레디 스 자동 완성 (0) | 2020.01.01 |
[REDIS] 레일 및 캐싱, 그것은 memcache에와 레디 스 사이를 전환하기 쉽다? (0) | 2020.01.01 |
[REDIS] 어떻게 하늘빛에 레디 스 실행을 얻을 수 있습니까? [닫은] (0) | 2020.01.01 |
[REDIS] 복잡한 데이터 구조 레디 스 (0) | 2020.01.01 |