Ú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.