Spring Data Redis tulajdonságalapú konfigurációja

1. Áttekintés

A Spring Boot egyik fő vonzereje, hogy a külső gyártók konfigurációját gyakran csak néhány tulajdonságra redukálja.

Ebben az oktatóanyagban megnézzük, hogyan A Spring Boot leegyszerűsíti a Redis-szel való munkát.

2. Miért Redis?

A Redis az egyik legnépszerűbb memóriában lévő adatszerkezet-tároló. Ezért adatbázisként, gyorsítótárként és üzenetközvetítőként használható.

A teljesítmény szempontjából jól ismert a gyors válaszideje miatt. Ennek eredményeként másodpercenként több százezer műveletet képes kiszolgálni, és könnyen méretezhető.

És jól párosul a Spring Boot alkalmazásokkal. Például használhatjuk gyorsítótárként a mikroszolgáltatások architektúrájában. NoSQL adatbázisként is használhatjuk.

3. Redis futása

A kezdéshez hozzunk létre egy Redis példányt a hivatalos Docker képük felhasználásával.

$ docker run -p 16379: 6379 -d redis: 6.0 redis-server - megköveteli a "mypass"

Fent, most indítottuk el a Redis példányát a porton 16379 jelszóval mypass.

4. Indító

A Spring nagyszerű támogatást nyújt számunkra a Spring Boot alkalmazásunk és a Redis összekapcsolásához a Spring Data Redis használatával.

Tehát ezután győződjünk meg róla, hogy megvan spring-boot-starter-data-redis függőség a mi pom.xml:

 org.springframework.boot spring-boot-starter-data-redis 2.2.6. KÖZLEMÉNY 

5. Saláta

Ezután konfiguráljuk az ügyfelet.

A Java Redis kliens a salátát fogjuk használni, mivel a Spring Boot alapértelmezés szerint használja. Használhattuk volna azonban a Jedist is.

Akárhogy is, az eredmény a RedisTemplate:

@Bean public RedisTemplate redisTemplate (RedisConnectionFactory connectionFactory) {RedisTemplate template = new RedisTemplate (); template.setConnectionFactory (connectionFactory); // Adjon ide néhány konkrét konfigurációt. A legfontosabb sorozatok stb. Visszatérési sablon; }

6. Tulajdonságok

Amikor salátát használunk, nem kell konfigurálnunk a RedisConnectionFactory. A Spring Boot megteszi helyettünk.

Csak annyi maradt hátra, hogy megadunk néhány tulajdonságot a sajátunkban alkalmazás.tulajdonságok fájl:

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

Illetőleg:

  • adatbázis beállítja a kapcsolatgyár által használt adatbázis indexet
  • házigazda az a hely, ahol a kiszolgáló hosztja található
  • kikötő azt a portot jelöli, ahol a szerver figyel
  • Jelszó a kiszolgáló bejelentkezési jelszava, és
  • időtúllépés létrehozza a kapcsolat időtúllépését

Természetesen sok más tulajdonság is konfigurálható. A konfigurációs tulajdonságok teljes listája a Spring Boot dokumentációban található.

7. Demo

Végül próbáljuk meg használni az alkalmazásunkban. Ha elképzeljük a Könyv osztály és a BookRepository, létrehozhatunk és visszakereshetünk Könyvs, a mi felhasználásával RedisTemplate hogy kapcsolatba léphessünk Redis-szel, mint háttérrel:

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

Alapértelmezés szerint a saláta kezeli a számunkra a sorosítást és a deszerializációt, így ezen a ponton nincs több teendő. Jó azonban tudni, hogy ez is konfigurálható.

Egy másik fontos jellemző azóta RedisTemplatemenetbiztos, így többszálas környezetben megfelelően fog működni.

8. Következtetés

Ebben a cikkben úgy konfiguráltuk a Spring Boot-ot, hogy beszéljen Redisszel a salátán keresztül. És elértük egy indulóval, egy kislemezzel @Bab konfiguráció és egy maroknyi tulajdonság.

Összefoglaláshoz a RedisTemplate hogy Redis egyszerű háttérként viselkedjen.

A teljes példa a GitHub oldalon található.