Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Redis — Jak klucze HASH, SET i ZSET są powiązane w zapisaniu CrudRepository?

Czy masz coś przeciwko udostępnieniu kodu implementacji RedisTemplate? (Czy jest to generowane przez adnotację @RedisHash?) Sam jestem nowy w Spring-Data-Redis i nie wiedziałem o adnotacji @RedisHash i chcę to sprawdzić.

W każdym razie zasadniczo to, co się tutaj dzieje, polega na tym, że repozytorium Spring-Data-Redis wstawia obiekt Person do różnych struktur danych natywnie obsługiwanych przez Redis do różnych celów.

Redis obsługuje różne struktury danych, takie jak:

  1. HashRedis tworzy mapę pól ciągów i wartości ciągów, aby reprezentować cały obiekt Person. pokaże wszystkie różne pola i wartości związane z Twoją osobą Obiekt

    HASH przechowujący wartości właściwości dla identyfikatora „c5cfd49d-6688-4b83-a9b7-be55dd1c36ad” w przestrzeni kluczy „osoby”

  2. SetRedis wstawia podstawowy nieprzetworzony ciąg i indeksuje jednostki na podstawie ich pola. Stąd było dużo SET operacje w Twojej bazie danych Redis. Możesz zobaczyć indeksy firstName i nazwisko w zestawie danych

    SET przechowujący wszystkie identyfikatory znane w przestrzeni klawiszy „osoby”

  3. ZSetTo jest operacja Redis dla zestawów posortowanych struktura danych. Który jest uporządkowanym zbiorem ciągów. Z dokumentacji Redis

    Krótko mówiąc, dzięki posortowanym zestawom możesz wykonywać wiele zadań z doskonałą wydajnością, które są naprawdę trudne do modelowania w innych rodzajach baz danych.

Wygląda na to, że Spring Data automatycznie wstawia dane lokalizacji jako posortowany zestaw, aby zoptymalizować operacje CRUD.

Możesz przeczytać więcej tutaj:

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

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




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak skonfigurować kontener Redis Docker za pomocą ssl

  2. Używać wielu baz danych z jednym skryptem Redis Lua?

  3. Redis w klasycznym ASP (VBScript)

  4. Laravel + predis + klaster Redis - PRZENIESIONY / brak połączenia do 127.0.0.1:6379

  5. Pracujesz z dwoma oddzielnymi instancjami redis z sidekiq?