복붙노트

[REDIS] 레디 스에서 사전의 보관 사전 (StackExchange.Redis)

REDIS

레디 스에서 사전의 보관 사전 (StackExchange.Redis)

나는 레디 스에서 사전의 사전을 저장할. 의 경우 예를 들어, 나는 사업체 등 제품, 주문, 고객을 가지고 ... 그들은 모두 이드 및 기타 관련 속성이 있습니다.

나는 StackExchange.Redis C 번호의 최신 버전을 사용하고 있습니다

기대: 1. ID 10와 I 저장 제품은 다음 먼저 여부를 확인한다     제품 유형을 사용할 수 엔티티     예 다음 전체 제품을 반환 할 경우, 상품 ID 10 존재를 확인합니다. 다른 기업에 대한 동일 2.. 이드가 10도 주문 엔티티에 사용할 수 있습니다.

키 : TYPENAME 값 : DICT (INT, 유형)

모든 쓰기가 발생할 때마다, 전체 사전을 업데이트하지 않는다, 다만 사전에 새로운 기록 또는 업데이트 레코드를 추가 할 수 있습니다.

그래서,  모든 제품이 요청 될 때마다 1, 나는 내부 dictionary.Values을 반환 할 수 있습니다  개별 제품이 요청 2. 경우, 나는 하나 개의 제품을 반환 할 수 있습니다  모든 제품 삭제를 요청하는 경우 3. 다음은 한 번에 모든 것을 삭제합니다.  HashSet의를 사용하여 각 ProductIds에 대한 아웃 4. 시간?

해결법

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

    1.당신이 레디 스 해시해야 할 것 같다. 당신은 등 제품을 위해 ..에 대한 해시를 생성하고 키를 사용하여 각 항목을 저장할 수 있습니다. 여기 예입니다 :

    당신이 레디 스 해시해야 할 것 같다. 당신은 등 제품을 위해 ..에 대한 해시를 생성하고 키를 사용하여 각 항목을 저장할 수 있습니다. 여기 예입니다 :

        redis>  HSET product id:10 "{product_10_json}" id:11 "{product_11_json}"
        (integer) 2
    
        redis> HGET product id:10
        "{product_10_json}"
    
        redis> HGETALL product
        1) "id:10"
        2) "{product_10_json}"
        3) "id:11"
        4) "{product_11_json}"
    
    
        redis> Hdel product id:10
        (integer) 1
        redis> HGETALL product
        1) "id:11"
        2) "{product_11_json}"
    
    
        redis> del product
        (integer) 1
    

    편집 : 핵심에있는 항목의 수를 계산합니다 :

    당신은 HLEN를 사용해야합니다

    redis>HSET product product1 "Hello"
    (integer) 1
    redis> HSET product product2 "World"
    (integer) 1
    redis> HLEN product
    (integer) 2
    
  2. from https://stackoverflow.com/questions/57308747/storing-dictionary-of-dictionary-in-redis-stackexchange-redis by cc-by-sa and MIT license