Bevezetés a tavaszi adatok Redis

áttekintés

ez a cikk egy bevezetés a tavaszi adatok Redis, amely az absztrakciók a tavaszi adatok platform Redis-a népszerű in-memory adatszerkezet tárolni.

a Redis – t egy keystore-alapú adatstruktúra vezérli az adatok megőrzésére, és adatbázisként, gyorsítótárként, üzenetközvetítőként stb.

képesek leszünk használni a tavaszi adatok általános mintáit (sablonok stb.), miközben az összes tavaszi Adatprojekt hagyományos egyszerűségével is rendelkezik.

Maven függőségek

kezdjük a tavaszi adatok Redis függőségeinek deklarálásával a pom-ban.xml:

<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.3.3.RELEASE</version> </dependency><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0</version> <type>jar</type></dependency>

a spring-data-redis és a jedis legújabb verziói letölthetők a Maven Central – ról.

Alternatív megoldásként használhatjuk a Redis rugós Indítóindítóját is, amely kiküszöböli a külön rugó-adatok és jedis függőségek szükségességét:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.3.3.RELEASE</version></dependency>

ismét a Maven central kínálja a legfrissebb verzióinformációkat.

a Redis konfiguráció

az alkalmazás kliens és a Redis szerver példány közötti kapcsolat beállításainak meghatározásához Redis klienst kell használnunk.

számos Redis kliens implementáció áll rendelkezésre a Java számára. Ebben az oktatóanyagban a Jedis – t fogjuk használni-egy egyszerű és hatékony Redis kliens implementációt.

a keretrendszer mind az XML, mind a Java konfigurációt támogatja; ehhez az oktatóanyaghoz Java-alapú konfigurációt fogunk használni.

3.1. Java Configuration

kezdjük a configuration bean definíciókkal:

@BeanJedisConnectionFactory jedisConnectionFactory() { return new JedisConnectionFactory();}@Beanpublic RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(jedisConnectionFactory()); return template;}

a konfiguráció meglehetősen egyszerű. Először is, a Jedis kliens használatával meghatározunk egy connectionFactory-t.

ezután definiáltunk egy RedisTemplate-t a jedisConnectionFactory használatával. Ezt fel lehet használni az adatok lekérdezésére egy egyéni adattárral.

3.2. Egyéni csatlakozási tulajdonságok

lehet, hogy már észrevette, hogy a fenti konfigurációban hiányoznak a szokásos kapcsolathoz kapcsolódó tulajdonságok. Például a kiszolgáló címe és portja hiányzik a konfigurációban. Az ok egyszerű: példánkban az alapértelmezett értékeket használjuk.

Ha azonban konfigurálnunk kell a kapcsolat részleteit, mindig módosíthatjuk a jedisConnectionFactory konfigurációját az alábbiak szerint:

@BeanJedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory jedisConFactory = new JedisConnectionFactory(); jedisConFactory.setHostName("localhost"); jedisConFactory.setPort(6379); return jedisConFactory;}

Redis Repository

használjunk egy hallgatói entitást a példáinkhoz:

@RedisHash("Student")public class Student implements Serializable { public enum Gender { MALE, FEMALE } private String id; private String name; private Gender gender; private int grade; // ...}

4.1. A tavaszi adattár

hozzuk létre a StudentRepository-t az alábbiak szerint:

@Repositorypublic interface StudentRepository extends CrudRepository<Student, String> {}

adathozzáférés StudentRepository

kiterjesztésével CrudRepository StudentRepository, mi automatikusan kap egy teljes körű perzisztencia módszerek, amelyek végre CRUD funkcionalitás.

5.1. Új Diákobjektum mentése

mentsünk új diákobjektumot az adattárolóba:

Student student = new Student( "Eng2015001", "John Doe", Student.Gender.MALE, 1);studentRepository.save(student);

5.2. Meglévő Diákobjektum lekérése

a diákadatok lekérésével ellenőrizhetjük a hallgató helyes beillesztését az előző szakaszba:

Student retrievedStudent = studentRepository.findById("Eng2015001").get();

5.3. Meglévő Diákobjektum frissítése

változtassuk meg a fent lekért diák nevét, majd mentsük újra:

retrievedStudent.setName("Richard Watson");studentRepository.save(student);

végül újra lekérhetjük a tanuló adatait, és ellenőrizhetjük, hogy a név frissült-e az adattárban.

5.4. Meglévő hallgatói adatok törlése

a fent beillesztett hallgatói adatokat törölhetjük:

studentRepository.deleteById(student.getId());

most megkereshetjük a student objektumot, és ellenőrizhetjük, hogy az eredmény null-e.

5.5. Keresse meg az összes Diákadatot

néhány diák objektumot beilleszthetünk:

Student engStudent = new Student( "Eng2015001", "John Doe", Student.Gender.MALE, 1);Student medStudent = new Student( "Med2015001", "Gareth Houston", Student.Gender.MALE, 2);studentRepository.save(engStudent);studentRepository.save(medStudent);

ezt egy gyűjtemény beillesztésével is elérhetjük. Ehhez van egy másik módszer-saveAll ()–, amely egyetlen Iterálható objektumot fogad el, amely több diákobjektumot tartalmaz, amelyeket fenn akarunk tartani.

az összes beillesztett hallgató megtalálásához használhatjuk a findAll () módszert:

List<Student> students = new ArrayList<>();studentRepository.findAll().forEach(students::add);

ezután gyorsan ellenőrizhetjük a diákok listájának méretét, vagy ellenőrizhetjük a nagyobb részletességet az egyes objektumok tulajdonságainak ellenőrzésével.

következtetés



+