Úvod do jarných údajov Redis

1. Prehľad

Tento článok je úvod do Spring Data Redis, ktorá poskytuje abstrakcie platformy Spring Data platforme Redis - populárnemu úložisku dátových štruktúr v pamäti.

Redis je poháňaný dátovou štruktúrou založenou na úložisku kľúčov na trvalé uchovanie údajov a môže byť použitý ako databáza, vyrovnávacia pamäť, sprostredkovateľ správ atď.

Budeme môcť používať bežné vzory Spring Data (šablóny atď.) A zároveň mať tradičnú jednoduchosť všetkých projektov Spring Data.

2. Maven závislosti

Začnime vyhlásením závislostí Spring Data Redis v pom.xml:

 org.springframework.data spring-data-redis 2.3.3. RELEASE redis.clients jedis 3.3.0 jar 

Najnovšie verzie servera spring-data-redis a jedis je možné stiahnuť z Maven Central.

Prípadne môžeme použiť štartér Spring Boot pre Redis, ktorý eliminuje potrebu samostatných jarné údaje a jedis závislosti:

 org.springframework.boot spring-boot-starter-data-redis 2.3.3.RELEASE 

Maven central opäť ponúka informácie o najnovšej verzii.

3. Konfigurácia Redis

Na definovanie nastavení spojenia medzi aplikačným klientom a inštanciou servera Redis musíme použiť klienta Redis.

Pre Java je k dispozícii množstvo implementácií klienta Redis. V tomto návode použijeme Jedis - jednoduchú a výkonnú implementáciu klienta Redis.

V rámci existuje dobrá podpora pre konfiguráciu XML aj Java; pre tento tutoriál použijeme konfiguráciu založenú na prostredí Java.

3.1. Konfigurácia Java

Začnime s definíciami konfiguračných bôbov:

@Bean JedisConnectionFactory jedisConnectionFactory () {vrátiť nový JedisConnectionFactory (); } @Bean public RedisTemplate redisTemplate () {šablóna RedisTemplate = nová RedisTemplate (); template.setConnectionFactory (jedisConnectionFactory ()); návratová šablóna; } 

Konfigurácia je celkom jednoduchá. Najprv pomocou klienta Jedis definujeme a connectionFactory.

Potom sme definovali a RedisTemplate pomocou jedisConnectionFactory. To možno použiť na dopytovanie údajov s vlastným úložiskom.

3.2. Vlastné vlastnosti pripojenia

Možno ste si už všimli, že vo vyššie uvedenej konfigurácii chýbajú obvyklé vlastnosti súvisiace s pripojením. Napríklad v konfigurácii chýba adresa servera a port. Dôvod je jednoduchý: v našom príklade používame predvolené hodnoty.

Ak však potrebujeme nakonfigurovať podrobnosti pripojenia, môžeme kedykoľvek upraviť jedisConnectionFactory konfigurácia takto:

@Bean JedisConnectionFactory jedisConnectionFactory () {JedisConnectionFactory jedisConFactory = nový JedisConnectionFactory (); jedisConFactory.setHostName ("localhost"); jedisConFactory.setPort (6379); návrat jedisConFactory; }

4. Redis úložisko

Použime a Študent entita pre naše príklady:

@RedisHash („Študent“), verejná trieda Študent implementuje Serializable {public enum Gender {MALE, FEMALE} súkromné ​​ID reťazca; súkromné ​​meno reťazca; súkromné ​​pohlavie; súkromný int. stupeň; // ...}

4.1. Jarné úložisko údajov

Poďme teraz vytvoriť StudentRepository nasledovne:

@Repository verejné rozhranie StudentRepository rozširuje CrudRepository {}

5. Prístup k údajom pomocou StudentRepository

Predĺžením Úložisko Crud v StudentRepository, automaticky dostaneme kompletnú sadu metód perzistencie, ktoré vykonávajú funkčnosť CRUD.

5.1. Uloženie nového študentského objektu

Uložme nový študentský objekt do dátového úložiska:

Študent študent = nový Študent ("Eng2015001", "John Doe", Student.Gender.MALE, 1); studentRepository.save (študent);

5.2. Načítanie existujúceho študentského objektu

Správne vloženie študenta v predchádzajúcej časti môžeme overiť načítaním údajov o študentovi:

Študent retrievedStudent = studentRepository.findById ("Eng2015001"). Get ();

5.3. Aktualizácia existujúceho študentského objektu

Zmeňte meno vyššie získaného študenta a znova ho uložte:

retrievedStudent.setName ("Richard Watson"); studentRepository.save (študent);

Na záver môžeme znova načítať údaje študenta a overiť, či je meno v úložisku údajov aktualizované.

5.4. Odstránenie existujúcich údajov o študentovi

Vyššie vložené údaje študentov môžeme vymazať:

studentRepository.deleteById (student.getId ());

Teraz môžeme vyhľadať študentský objekt a overiť, či je výsledok nulový.

5.5. Nájsť všetky údaje študentov

Môžeme vložiť niekoľko študentských objektov:

Student engStudent = new Student ("Eng2015001", "John Doe", Student.Gender.MALE, 1); Študent medStudent = nový Študent ("Med2015001", "Gareth Houston", Student.Gender.MALE, 2); studentRepository.save (engStudent); studentRepository.save (medStudent);

To môžeme dosiahnuť aj vložením zbierky. Na to existuje iná metóda - uložiť všetko() - ktorý prijíma singel Iterable objekt obsahujúci viac študentských objektov, ktoré chceme zachovať.

Na vyhľadanie všetkých vložených študentov môžeme použiť findAll () metóda:

Zoznam študentov = new ArrayList (); studentRepository.findAll (). forEach (students :: add);

Potom môžeme rýchlo skontrolovať veľkosť študentov uveďte zoznam alebo overte väčšiu granularitu kontrolou vlastností každého objektu.

6. Záver

V tomto tutoriáli sme si prešli základy Spring Data Redis. Zdrojový kód vyššie uvedených príkladov možno nájsť v projekte GitHub.


$config[zx-auto] not found$config[zx-overlay] not found