복붙노트

[REDIS] 어떻게 레디 스 해시의 배열을 저장하기 위해?

REDIS

어떻게 레디 스 해시의 배열을 저장하기 위해?

나는 레디 스에 아주 새로운 해요, 그 수는 어떻게 있는지를 찾고 있습니다. 나는이 같은 데이터를 수신하고있어 상상 :

{ "account": "abc", "name": "Bob", "lname": "Smith" }
{ "account": "abc", "name": "Sam", "lname": "Wilson" }
{ "account": "abc", "name": "Joe"}

그리고 다른 계정이 데이터를 수신 :

{ "account": "xyz", "name": "Bob", "lname": "Smith" } 
{ "account": "xyz", "name": "Sam", "lname": "Smith"}

나는 비슷한 형식으로 레디 스에서이 데이터를 유지하고 싶습니다 :

abc:name ["Bob", "Sam", "Joe"]
abc:lname ["Smith", "Wilson", Null]

그리고 XYZ에 대한 :

xyz:name["Bob", "Sam"]
xyz:lname["Smith", "Smith"]

문제는 내가이 레디 스를 저장하는 데 사용합니다 어떤 데이터 유형입니다 그래서?

해결법

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

    1.밥이 솔루션이 같은해야 계정 ABC의 이름으로 사용하는 경우 목표 확인하는 경우 :

    밥이 솔루션이 같은해야 계정 ABC의 이름으로 사용하는 경우 목표 확인하는 경우 :

    샘플 데이터

    { "account": "abc", "name": "Bob", "lname": "Smith" }
    { "account": "abc", "name": "Sam", "lname": "Wilson" }
    { "account": "abc", "name": "Joe"}
    

    이 (A 레디 스 세트를 사용하여)을 수행합니다

    SADD abc:name Bob Sam Joe
    SADD abc:lname Wilson Smith
    

    밥과 계정 abc 방송,의 이름으로 사용되는 경우는 확인 할 수 있습니다 :

    SISMEMBER abc:name Bob
    > true
    

    필드를 사용 SMEMBERS의 모든 값을 검색하려면 :

    SMEMBERS abc:name
    > ["Bob", "Sam", "Joe"]
    

    노트 :

  2. from https://stackoverflow.com/questions/19791828/how-to-store-array-in-redis-hashes by cc-by-sa and MIT license