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

Redis - In che modo le chiavi HASH e SET e ZSET sono correlate al salvataggio di CrudRepository?

Prima di rispondere, ti dispiace condividere il tuo codice di implementazione RedisTemplate? (O questo è generato dall'annotazione @RedisHash?) Sono nuovo di Spring-Data-Redis e non conoscevo l'annotazione @RedisHash e voglio verificarla.

Ad ogni modo, essenzialmente ciò che sta accadendo qui è che il repository Spring-Data-Redis sta inserendo l'oggetto Person in diverse strutture di dati supportate nativamente da Redis per scopi diversi.

Redis supporta diverse strutture di dati come:

  1. HashRedis crea una mappa di campi stringa e valori di stringa per rappresentare l'intero oggetto Person. Se esegui HGETALL persons:{your person id} mostrerà tutti i diversi campi e valori associati al tuo Oggetto personale

    HASH holding property values for id "c5cfd49d-6688-4b83-a9b7-be55dd1c36ad" in keyspace "persons"

  2. SetRedis inserisce la stringa grezza di base e indicizza le entità in base al loro campo. Quindi c'erano molti SET operazioni nel tuo DB Redis. Puoi vedere gli indici di firstName e lastName nel tuo set di dati

    SET holding all ids known in the keyspace "persons"

  3. ZSetQuesta è l'operazione Redis per Sorted Sets struttura dati. Che è una raccolta ordinata di stringhe. Da Redis Documentations

    In short with sorted sets you can do a lot of tasks with great performance that are really hard to model in other kind of databases.

Sembra che Spring Data inserisca automaticamente i dati sulla posizione come un insieme ordinato per ottimizzare le operazioni CRUD.

Puoi leggere di più qui:

https://github.com/spring-projects/spring-data-examples/blob/master/redis/repositories/README.md

https://redis.io/topics/data-types