Úvod do Jarní Dat Redis

Přehled

Tento článek je úvodem do Jara Data Redis, který poskytuje abstrakci na Jaře Dat platformu Redis – populární struktura dat v paměti úložiště.

Redis je poháněn keystore-založené datové struktury přetrvávat data a může být použit jako databáze, cache, poselství, kancelář, atd.

budeme moci použít běžné vzory jarních dat (šablony atd.), a zároveň s tradiční jednoduchostí všech jarních datových projektů.

Maven závislosti

Začněme tím, že deklarujeme závislosti jarních dat Redis v pom.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>

nejnovější verze spring-data-redis a jedis si můžete stáhnout z Maven Central.

Alternativně, můžeme použít Jarní Boot startér pro Redis, který bude eliminovat potřebu samostatné jaro-data a jedis závislostí:

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

Znovu, Maven central nabízí nejnovější informace o verzi.

konfigurace Redis

Chcete-li definovat nastavení připojení mezi klientem aplikace a instancí serveru Redis, musíme použít klienta Redis.

pro Javu je k dispozici řada implementací klienta Redis. V tomto tutoriálu použijeme Jedis-jednoduchou a výkonnou implementaci klienta Redis.

v rámci je dobrá podpora pro konfiguraci XML i Java; pro tento tutoriál použijeme konfiguraci založenou na Javě.

3.1. Konfigurace Java

začněme definicemi konfiguračních fazolí:

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

konfigurace je poměrně jednoduchá. Nejprve pomocí klienta Jedis definujeme connectionFactory.

poté jsme definovali RedisTemplate pomocí jedisConnectionFactory. To lze použít pro dotazování dat pomocí vlastního úložiště.

3.2. Vlastní vlastnosti Připojení

možná jste si již všimli, že ve výše uvedené konfiguraci chybí obvyklé vlastnosti související s připojením. V konfiguraci například chybí adresa serveru a port. Důvod je jednoduchý: pro náš příklad používáme výchozí hodnoty.

Nicméně, pokud potřebujeme nakonfigurovat připojení detaily, můžeme vždy upravit jedisConnectionFactory konfiguraci takto:

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

Redis Úložiště

Pojďme použít Student subjekt pro naše příklady:

@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. Na Jaře Úložiště Dat

Pojďme se nyní vytvořit StudentRepository takto:

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

Přístup k Datům Pomocí StudentRepository

rozšířením CrudRepository v StudentRepository, automaticky získat kompletní sadu persistence metod, které provádět CRUD funkce.

5.1. Uložení nového studentského objektu

uložme nový studentský objekt do datového úložiště:

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

5.2. Načtením existujícího studentského objektu

můžeme ověřit správné vložení studenta do předchozí části načtením studentských dat:

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

5.3. Aktualizace Stávající Student Objekt

Pojďme změnit jméno studenta citováno výše a uložte jej znovu:

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

Konečně, můžeme získat údaje o studentovi znovu a ověřte, že název je aktualizován v datastore.

5.4. Odstranění Stávajících Dat Studentů

můžeme odstranit výše vložených údajů studenta:

studentRepository.deleteById(student.getId());

Nyní můžeme hledat student, předmět a ověřit, že výsledek je null.

5.5. Najít všechna data studentů

můžeme vložit několik studentských objektů:

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);

toho můžeme dosáhnout také vložením sbírky. K tomu existuje jiná metoda-saveAll () – která přijímá jeden Iterable objekt obsahující více studentských objektů, které chceme přetrvávat.

pro nalezení všech vložených studentů můžeme použít metodu findAll() :

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

pak můžeme rychle zkontrolovat velikost seznamu studentů nebo ověřit větší zrnitost kontrolou vlastností každého objektu.

závěr



+