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

Chiave multipla che punta a un valore singolo in Redis (Cache) con java

Avere più chiavi che puntano allo stesso valore non è per ora supportato in Redis, vedere il problema n. 2668.

Avresti bisogno di una soluzione alternativa.

Alcune idee di seguito, forse ovvie o stupide :)

Forse avere una chiave intermedia:
- user_10id_123
- driver_5id_123
- id_123data_that_you_dont_want_to_duplicate

Potresti implementare quella logica nel tuo codice client o in script Lua personalizzati sul server e fare in modo che il tuo codice client utilizzi quegli script (ma non ne so abbastanza per fornire dettagli).

Se si implementa la logica indiretta lato client, e se gli accessi sono sbilanciati, ad esempio si accede ai dati tramite chiave utente il 99% delle volte e tramite chiave driver l'1% delle volte, potrebbe valere la pena evitare 2 client-server viaggi di andata e ritorno per il caso del 99%. Per questo puoi codificare i reindirizzamenti. Ad esempio, se il primo carattere è # poi il resto sono i dati. Se il primo carattere è @ poi il resto è la chiave vera e propria.

  • user_10#data_that_you_dont_want_to_duplicate
  • driver_5@user_10