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

Redis - Hvordan er nøglen HASH og SET og ZSET relateret på CrudRepository saven?

Før du svarer, har du noget imod at dele din RedisTemplate-implementeringskode? (Eller er dette genereret af @RedisHash-annotation?) Jeg er selv ny til Spring-Data-Redis og kendte ikke til @RedisHash-annotationen og vil gerne tjekke den ud.

Under alle omstændigheder, hvad der i bund og grund sker her, er, at Spring-Data-Redis-depotet indsætter Person-objektet i forskellige datastrukturer, der er naturligt understøttet af Redis til forskellige formål.

Redis understøtter forskellige datastrukturer såsom:

  1. HashRedis opretter et kort over strengfelter og strengværdier for at repræsentere hele dit personobjekt. Hvis du gør HGETALL persons:{your person id} det vil vise alle de forskellige felter og værdier, der er knyttet til dit personobjekt

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

  2. SetRedis indsætter den grundlæggende rå streng og indekserer enheder baseret på deres felt. Derfor var der mange SET operationer i din Redis DB. Du kan se indekser af firstName og lastName i dit datasæt

    SET holding all ids known in the keyspace "persons"

  3. ZSetThis er Redis-operation for Sorted Sets datastruktur. Hvilket er en ordnet samling af strenge. Fra 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.

Det ser ud til, at Spring Data automatisk indsætter lokationsdataene som et sorteret sæt for at optimere CRUD-operationer.

Du kan læse mere her:

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

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




  1. Optimeret måde at forespørge på i MongoDB ved hjælp af $in vs $or

  2. Eksporter resultatet af mongodb-aggregationsramme til en ny samling

  3. Indeksering på et felt, der er i række af underdokumenter

  4. Oprettelse af en åben standard:Machine Learning Governance ved hjælp af Apache Atlas