Konfiguracija temeljena na svojstvu Spring Data Redis
1. Pregled
Jedna od glavnih atrakcija Spring Boota je kako često smanjuje konfiguraciju treće strane na samo nekoliko svojstava.
U ovom uputstvu vidjet ćemo kako Spring Boot pojednostavljuje rad s Redisom.
2. Zašto Redis?
Redis je jedno od najpopularnijih skladišta podataka u memoriji. Iz tog se razloga može koristiti kao baza podataka, predmemorija i posrednik poruka.
Što se tiče performansi, dobro je poznat zbog brzog vremena odziva. Kao rezultat, može poslužiti stotine tisuća operacija u sekundi i lako je prilagodljiv.
I, dobro se slaže s programima Spring Boot. Na primjer, možemo ga koristiti kao predmemoriju u našoj arhitekturi mikro usluga. Možemo ga koristiti i kao NoSQL bazu podataka.
3. Trčanje Redisa
Za početak, stvorimo Redis instancu koristeći njihovu službenu Docker sliku.
$ docker run -p 16379: 6379 -d redis: 6.0 redis-server --requirepass "mypass"
Iznad smo upravo pokrenuli primjerak Redisa na luci 16379 s lozinkom za mypass.
4. Starter
Spring nam pruža veliku podršku za povezivanje naših Spring Boot aplikacija s Redisom pomoću Spring Data Redis.
Dakle, pobrinimo se da imamo spring-boot-starter-data-redis ovisnost u našem pom.xml:
org.springframework.boot spring-boot-starter-data-redis 2.2.6.OSLOBODI
5. Zelena salata
Dalje, konfigurirajmo klijenta.
Klijent Java Redis koristit ćemo je Salata jer ga Spring Boot koristi prema zadanim postavkama. Međutim, mogli smo koristiti i Jedije.
U svakom slučaju, rezultat je primjer RedisTemplate:
@Bean public RedisTemplate redisTemplate (RedisConnectionFactory connectionFactory) {Predložak RedisTemplate = novi RedisTemplate (); template.setConnectionFactory (connectionFactory); // Ovdje dodajte neku određenu konfiguraciju. Ključni serializatori, itd. Predložak za povrat; }
6. Svojstva
Kada koristimo salatu, ne trebamo konfigurirati RedisConnectionFactory. Spring Boot to čini umjesto nas.
Sve što nam je ostalo je da odredimo nekoliko svojstava u našem primjena.svojstva datoteka:
spring.redis.database = 0 spring.redis.host = localhost spring.redis.port = 16379 spring.redis.password = mypass spring.redis.timeout = 60000
Odnosno:
- baza podataka postavlja indeks baze podataka koji koristi tvornica veza
- domaćin je mjesto na kojem se nalazi host poslužitelja
- luka označava priključak na kojem poslužitelj sluša
- zaporka je lozinka za prijavu za poslužitelj i
- pauza uspostavlja vremensko ograničenje veze
Naravno, postoji još puno svojstava koja možemo konfigurirati. Cjelovit popis svojstava konfiguracije dostupan je u dokumentaciji Spring Boot.
7. Demo
Napokon, pokušajmo ga koristiti u našoj aplikaciji. Ako zamislimo a Knjiga razred i a Repozitorij knjiga, možemo stvoriti i dohvatiti Knjigas, koristeći naš RedisTemplate za interakciju s Redisom kao našim pozadinskim okruženjem:
@Autowired private RedisTemplate redisTemplate; javno prazno spremanje (knjiga knjiga) {redisTemplate.opsForValue (). set (book.getId (), book); } javna knjiga findById (dugi id) {return redisTemplate.opsForValue (). get (id); }
Prema zadanim postavkama, salata će upravljati serializacijom i deserializacijom umjesto nas, tako da u ovom trenutku više nemamo što raditi. Međutim, dobro je znati da se i to može konfigurirati.
Druga važna značajka je od RedisTemplatezaštićen je nitima, tako da će ispravno raditi u okruženjima s više niti.
8. Zaključak
U ovom smo članku konfigurirali Spring Boot za razgovor s Redisom putem salate. I to smo postigli starterom, singlom @Grah konfiguracija i pregršt svojstava.
Za završetak smo koristili RedisTemplate da se Redis ponaša kao jednostavan backkend.
Cjelovit primjer možete pronaći na GitHubu.