- Overview
- Maven riippuvuudet
- Redis-konfiguraatio
- 3.1. Java-konfiguraatio
- 3.2. Mukautetun yhteyden ominaisuudet
- Redis Repository
- 4.1. Kevään tietovarasto
- tietojen käyttö StudentRepository
- 5.1. Tallennetaan Uusi Opiskelijakohde
- 5.2. Haetaan olemassa olevaa Opiskelijakohdetta
- 5.3. Päivitetään olemassa olevaa Opiskelijakohdetta
- 5.4. Olemassa olevan Opiskelijatiedon poistaminen
- 5.5. Etsi kaikki opiskelijatiedot
- johtopäätös
Overview
this article is an introduction to Spring Data Redis, which provides the abstractions of the Spring Data platform to Redis – the popular in-memory data structure store.
Redis: ää ohjaa keystore-pohjainen tietorakenne tietojen säilömiseksi ja sitä voidaan käyttää tietokantana, välimuistina, viestien välittäjänä jne.
Voimme käyttää Jousiaineiston yleisiä kuvioita (mallineet jne.), mutta samalla kaikkien kevään Dataprojektien perinteinen yksinkertaisuus.
Maven riippuvuudet
aloitetaan ilmoittamalla Jousiaineiston Uudelleenriippuvuudet pom: ssä.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>
uusimmat versiot spring-data-redis ja jedis voidaan ladata Maven Central.
vaihtoehtoisesti voimme käyttää Jousikäynnistyskäynnistintä Redis: iin, mikä poistaa erillisten jousi-data-ja jedis-riippuvuuksien tarpeen:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.3.3.RELEASE</version></dependency>
jälleen, Maven central tarjoaa uusimman version tiedot.
Redis-konfiguraatio
määrittääksemme yhteysasetukset sovellusohjelmiston ja Redis-palvelimen instanssin välillä, meidän on käytettävä Redis-asiakasohjelmaa.
Javalle on saatavilla useita Redis-asiakastoteutuksia. Tässä opetusohjelmassa käytämme Jedis-yksinkertaista ja tehokasta Redis – asiakkaan toteutusta.
kehyksessä on hyvä tuki sekä XML-että Java-määrityksille; tähän opetusohjelmaan käytämme Java-pohjaista määritystä.
3.1. Java-konfiguraatio
aloitetaan konfiguraatiopapujen määritelmistä:
@BeanJedisConnectionFactory jedisConnectionFactory() { return new JedisConnectionFactory();}@Beanpublic RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(jedisConnectionFactory()); return template;}
kokoonpano on melko yksinkertainen. Jedis-asiakkaan avulla määrittelemme yhteyden.
sitten määrittelimme Jedisconnectionfactoryn avulla Uudelleenlaatan. Tätä voidaan käyttää tietojen kyselyyn mukautetun arkiston avulla.
3.2. Mukautetun yhteyden ominaisuudet
olet ehkä jo huomannut, että tavanomaiset yhteyden ominaisuudet puuttuvat yllä olevasta asetuksesta. Esimerkiksi palvelimen osoite ja portti puuttuvat asetuksista. Syy on yksinkertainen: esimerkissämme käytämme oletusarvoja.
kuitenkin, jos meidän täytyy määrittää yhteyden tiedot, voimme aina muuttaa jedisConnectionFactory kokoonpano seuraavasti:
@BeanJedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory jedisConFactory = new JedisConnectionFactory(); jedisConFactory.setHostName("localhost"); jedisConFactory.setPort(6379); return jedisConFactory;}
Redis Repository
käytetään Opiskelijakokonaisuutta esimerkeissämme:
@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. Kevään tietovarasto
luodaan nyt StudentRepository seuraavasti:
@Repositorypublic interface StudentRepository extends CrudRepository<Student, String> {}
tietojen käyttö StudentRepository
laajentamalla CrudRepository StudentRepository, saamme automaattisesti täydellisen sarjan pysyvyys menetelmiä, jotka suorittavat CRUD toimintoja.
5.1. Tallennetaan Uusi Opiskelijakohde
tallennetaan Uusi opiskelijakohde tietovarastoon:
Student student = new Student( "Eng2015001", "John Doe", Student.Gender.MALE, 1);studentRepository.save(student);
5.2. Haetaan olemassa olevaa Opiskelijakohdetta
voimme varmistaa opiskelijan oikean lisäyksen edelliseen osioon hakemalla opiskelijatiedot:
Student retrievedStudent = studentRepository.findById("Eng2015001").get();
5.3. Päivitetään olemassa olevaa Opiskelijakohdetta
muutetaan edellä haetun opiskelijan nimi ja tallennetaan se uudelleen:
retrievedStudent.setName("Richard Watson");studentRepository.save(student);
lopuksi voimme hakea opiskelijan tiedot uudelleen ja tarkistaa, että nimi on päivitetty datastore.
5.4. Olemassa olevan Opiskelijatiedon poistaminen
voimme poistaa yllä olevat opiskelijatiedot:
studentRepository.deleteById(student.getId());
nyt voimme etsiä opiskelija-objektin ja varmistaa, että tulos on nolla.
5.5. Etsi kaikki opiskelijatiedot
voimme lisätä muutaman opiskelijaobjektin:
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);
voimme saavuttaa tämän myös lisäämällä kokoelma. Tätä varten on olemassa toinen menetelmä – saveAll () – joka hyväksyy yhden Iteroitavan objektin, joka sisältää useita opiskelijaobjekteja, jotka haluamme säilyttää.
kaikkien lisättyjen opiskelijoiden löytämiseksi voidaan käyttää findAll () – menetelmää:
List<Student> students = new ArrayList<>();studentRepository.findAll().forEach(students::add);
sitten voimme nopeasti tarkistaa opiskelijaluettelon koon tai varmistaa suuremman rakeisuuden tarkistamalla kunkin kohteen ominaisuudet.