Konfigurácia založená na vlastnostiach Spring Data Redis

1. Prehľad

Jednou z hlavných atrakcií Spring Boot je to, ako často redukuje konfiguráciu tretích strán na iba niekoľko vlastností.

V tejto príručke sa dozvieme, ako na to Spring Boot zjednodušuje prácu s Redis.

2. Prečo Redis?

Redis je jedným z najpopulárnejších obchodov s dátovými štruktúrami v pamäti. Z tohto dôvodu sa dá použiť ako databáza, vyrovnávacia pamäť a sprostredkovateľ správ.

Pokiaľ ide o výkon, je dobre známy kvôli svojej rýchlej dobe odozvy. Vďaka tomu dokáže obslúžiť státisíce operácií za sekundu a je ľahko škálovateľný.

A tiež sa dobre spája s aplikáciami Spring Boot. Napríklad ju môžeme použiť ako medzipamäť v našej architektúre mikroslužieb. Môžeme ju tiež použiť ako NoSQL databázu.

3. Beh Redis

Na začiatok vytvorme inštanciu Redis pomocou ich oficiálneho obrazu Dockeru.

$ docker run -p 16379: 6379 -d redis: 6.0 redis-server --vyžadovať "mypass"

Vyššie sme práve spustili inštanciu Redis v porte 16379 s heslom mypass.

4. Štartér

Jar nám poskytuje veľkú podporu pre prepojenie našich aplikácií Spring Boot s Redis pomocou Spring Data Redis.

Ďalej sa teda uistite, že máme spring-boot-starter-data-redis závislosť v našom pom.xml:

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

5. Šalát

Ďalej nakonfigurujme klienta.

Klient Java Redis použijeme Lettuce, pretože ho Spring Boot používa predvolene. Mohli sme však použiť aj Jedisov.

Či tak alebo onak, výsledkom je inštancia RedisTemplate:

@Bean public RedisTemplate redisTemplate (RedisConnectionFactory connectionFactory) {RedisTemplate template = new RedisTemplate (); template.setConnectionFactory (connectionFactory); // Tu pridajte konkrétnu konfiguráciu. Návratové šablóny kľúčových serializátorov atď.; }

6. Vlastnosti

Keď používame šalát, nemusíme konfigurovať RedisConnectionFactory. Spring Boot to robí za nás.

Zostáva nám teda iba určiť niekoľko vlastností v našom application.properties spis:

spring.redis.database = 0 spring.redis.host = localhost spring.redis.port = 16379 spring.redis.password = mypass spring.redis.timeout = 60000

Respektíve:

  • databázy nastavuje index databázy používaný v továrni na pripojenie
  • hostiteľ je miesto, kde sa nachádza hostiteľ servera
  • prístav označuje port, na ktorom server počúva
  • heslo je prihlasovacie heslo pre server a -
  • čas vypršal nastavuje časový limit spojenia

Existuje samozrejme veľa ďalších vlastností, ktoré môžeme nakonfigurovať. Kompletný zoznam konfiguračných vlastností je k dispozícii v dokumentácii Spring Boot.

7. Ukážka

Nakoniec to skúsme použiť v našej aplikácii. Ak si predstavíme a Kniha triedy a a BookRepository, môžeme vytvárať a načítať Knihas, pomocou našej RedisTemplate komunikovať s Redis ako našim backendom:

@Autowired private RedisTemplate redisTemplate; public void save (Book book) {redisTemplate.opsForValue (). set (book.getId (), book); } public Book findById (Long id) {return redisTemplate.opsForValue (). get (id); }

V predvolenom nastavení za nás bude šalát riadiť serializáciu a deserializáciu, takže v tejto chvíli už nie je čo robiť. Je však dobré vedieť, že aj toto je možné nakonfigurovať.

Ďalšou dôležitou vlastnosťou je od RedisTemplateje bezpečný pre vlákna, takže v prostredí s viacerými vláknami bude fungovať správne.

8. Záver

V tomto článku sme nakonfigurovali Spring Boot, aby sa s Redisom rozprával prostredníctvom šalátu. Dosiahli sme to štartérom, singlom @Bean konfigurácia a niekoľko vlastností.

Na zabalenie sme použili RedisTemplate aby Redis fungoval ako jednoduchý backend.

Celý príklad nájdete na GitHub.


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