memorizza un singolo oggetto grande in memcached rispetto a più chiavi

0

Ho seguito il grande oggetto (20KB) memorizzato nella cache in memcache -

Product : 
{
    BasicInfo, //~5KB
    SellerId,  //int
    CityId,    //int
    AdditionalInfo //~15KB
}

Accesso a più posti -

  1. In alcuni luoghi, è necessario solo sellerId o cityId.
  2. In alcuni punti è richiesto solo BasicInfo.
  3. In alcuni punti è richiesto l'intero oggetto.

Quindi stiamo recuperando inutilmente l'intero oggetto nel 1 ° e nel 2 ° caso mentre richiediamo solo alcuni byte. Devo memorizzarli separatamente in memcache (solo problema è necessario invalidare più chiavi all'aggiornamento)?

C'è un modo migliore per gestire questi casi?

    
posta ctor 02.08.2017 - 08:46
fonte

1 risposta

1

Poiché si tratta di una cache, la soluzione migliore è quella di archiviarla in un unico posto.

Garantire l'integrazione della cache è già abbastanza difficile da fare correttamente nelle applicazioni di grandi dimensioni per aggiungere più complessità.

L'unico problema che potresti incontrare è quello di utilizzare diversi criteri di ricerca per recuperare lo stesso oggetto a seconda del caso d'uso corrente. In questo caso potresti aver bisogno di diverse cache per gestire i diversi tipi di criteri di ricerca.

    
risposta data 02.08.2017 - 09:37
fonte

Leggi altre domande sui tag