NoSQL 2024 - Cvičenie ku Key-value databáze Redis

Zdroj
ručne priradené
Pridané

Pozrieť na YouTube →

Preber si túto prednášku so svojou AI

Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.

Otvoriť AI: ChatGPT · Claude · Gemini

Zhrnutie prednášky

Praktické cvičenie k databáze Redis ukazuje tri úrovne práce s key-value úložiskom v Jave — od priameho volania príkazov cez knižnicu Jedis, cez Spring Data Redis až po repozitáre v Spring Boote. Prednášajúci najprv v IntelliJ zostaví viacmodulový Maven projekt, pripojí sa na školský Redis cluster a demonštruje na ňom základné príkazy set, get a increment. Ťažiskom prvej časti je zadanie „paralel increment“: trieda RedisAtomicInteger slúži ako zdieľaná atomická premenná nielen medzi vláknami jedného procesu, ale medzi všetkými strojmi v učebni — účastníci si navzájom „kradnú“ čísla, čím sa ukáže hlavná sila Redisu ako zdieľaného stavu medzi výpočtovými uzlami. Cez redis-cli si skupina prezrie fungovanie clustra: hash sloty rozdelené medzi tri master servery a automatické presmerovanie klienta na správny uzol. Druhá časť pridáva Spring Boot — konfiguračnú triedu so zavináčmi @Configuration a @Bean, entitu s @RedisHash a @Indexed a rozhranie CrudRepository, ktorého implementáciu dodá framework sám.

  • Cvičenie prechádza tromi úrovňami prístupu k Redisu z Javy: priamo cez Jedis, cez Spring Data Redis a nakoniec cez repozitáre Spring Bootu
  • JedisCluster sprístupňuje v Jave celú paletu príkazov známych z redis-cli (set, get, incr, hashové operácie); protokol je stringový, takže všetko ide ako reťazec
  • RedisAtomicInteger je zdieľaná atomická premenná — funguje naprieč vláknami, procesmi aj celými strojmi, nie len v rámci jedného procesu
  • Zadanie „paralel increment“: ExecutorService spustí viacero úloh nad spoločným čítačom a každý účastník dostane unikátne čísla, aj keď ho súčasne používa celá učebňa
  • Typické využitie Redisu je krátkodobý zdieľaný stav medzi uzlami (napríklad session používateľa), nie dlhodobé ukladanie dát
  • Redis cluster delí kľúče do hash slotov (0–5460, 5461–10922, 10923–16383); príkaz cluster nodes ich vypíše a klient je automaticky presmerovaný na správny master
  • RedisTemplate je obdobou JdbcTemplate — potrebuje connection factory a serializer, ktorý prevedie napríklad typ long na reťazec
  • Entita s @RedisHash a @Id sa ukladá ako samostatný kľúč, @Indexed nad priezviskom vytvorí sekundárny index; rozhranie dediace od CrudRepository implementuje Spring Boot automaticky

Zhrnutie pripravené s pomocou AI z prepisu videa.