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.


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