Redis
 sql >> Database >  >> NoSQL >> Redis

Come utilizzare redis per archiviare dati gerarchici?

In Redis non memorizzerai i tuoi dati in una struttura dati univoca. Devi creare più strutture di dati, ognuna identificata da una chiave.

Usa una convenzione per nominare le tue chiavi:per esempio site:<CITY>:buildings sarà un set che contiene l'elenco degli ID edificio per un determinato sito.

Quindi definisci gli hash per memorizzare ogni descrizione dell'edificio. La chiave per questi hash potrebbe essere qualcosa del tipo:building:<ID>

Nell'hash hai 2 membri:nome e piani. Il valore dei piani è l'ID univoco del set contenente l'elenco degli identificatori dei piani.

Quindi crea un ultimo set per ogni piano, per memorizzare i nomi delle stanze. Il nome dei set potrebbe essere qualcosa del tipo:floor:<ID> .

Suggerimenti:

  • usa il comando redis INCR per generare ID univoci.
  • evita le chiavi troppo lunghe se intendi memorizzarne un numero molto elevato (le chiavi più lunghe richiedono più memoria)