- áttekintés
- Maven függőségek
- a Redis konfiguráció
- 3.1. Java Configuration
- 3.2. Egyéni csatlakozási tulajdonságok
- Redis Repository
- 4.1. A tavaszi adattár
- adathozzáférés StudentRepository
- 5.1. Új Diákobjektum mentése
- 5.2. Meglévő Diákobjektum lekérése
- 5.3. Meglévő Diákobjektum frissítése
- 5.4. Meglévő hallgatói adatok törlése
- 5.5. Keresse meg az összes Diákadatot
- következtetés
á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.