Einführung in Redis
Redis (offizielle Website: https://redis.io) ist eine persistente Cache-Datenbank vom speicherbasierten Protokoll-Typ, das im Schlüssel-Wert-Format gespeichert ist. Redis ist völlig kostenlos und Open Source. Es ist in einer Sprache in Ansi geschrieben. Wie andere Schlüsselwert-Cache-Produkte verfügt Redis über die folgenden drei Funktionen.
• REDIS unterstützt die Persistenz von Daten, die Daten im Speicher auf der Festplatte speichern und zur Verwendung beim Neustart erneut geladen werden können.
• Redis unterstützt nicht nur einfache Daten für Schlüsselwerttypen, sondern bietet auch Datenstrukturen wie Zeichenfolgen, verknüpfte Listen, Sammlungen, geordnete Sammlungen und Hashs.
• Redis unterstützt die Datensicherung, dh die Datensicherung im Master-Slave-Modus.
Auf einem Mac -System müssen Sie Redis nicht herunterladen, um es zu verwenden. Hier sind die relevanten Befehle, um die komprimierten Pakete von Redis vom Hosting -Server von Redis herunterzuladen und sie zu entpacken.
wGet http://download.redis.io/releases/redis-4.0.8.tar.gztar xzf redis-4.0.8.tar.gzcd Redis-4.0.8make
Bevor Sie die von Redis bereitgestellten Dienste nutzen, müssen Sie zuerst Redis-bezogene Dienste beginnen. Der Befehl zum Starten von Redis im Mac -System ist wie folgt.
src/redis-server
Öffnen Sie dann einen Redis -Client erneut und verwenden Sie den folgenden Befehl, um eine Verbindung zum Redis -Server herzustellen.
src/redis-cliredis> set foo barokredis> Get Foo "Bar"
Integrieren Sie die Redis -Datenbank
Bevor Sie Redis verwenden, müssen Sie verwandte Abhängigkeiten einführen. Die Skripte, die von der Maven -Methode abhängen, sind wie folgt:
<Depopenty> <gruppe> org.springFramework.boot </Groupid> <artifactId> Spring-Boot-Starter-Data-redis </artifactid> </abhängig>
Danach schreiben wir die relevante Konfiguration von Redis an YML. Hier empfehlen wir, verschiedene Konfigurationen gemäß verschiedenen Umgebungen zu schreiben. Der von Redis verwendete Standardport ist 6379. Normalerweise verwendet Redis standardmäßig eine Datenbank Nr. 0, und es gibt standardmäßig 16 Datenbanken:
#Redis-Konfiguration Redis:# Datenbankindex Datenbank: 0# Serveradresse Host: 127.0.0.1# Serververbindungsanschluss Port: 6379# Link Passwort Kennwort:# Link Pool Pool:# Maximale Anzahl von Verbindungen (negativer Wert bedeutet kein Grenzwert). Zeit (Millisekunden) Timeout: 0
Wenn es sich um die Methode für application.Properties handelt, sind einige Konfigurationen wie folgt:
Spring.Redis.HOSTNAME = 127.0.0.1Spring.Redis.Port = 6379 Spring.redis.pool.maxActive = 8 Spring.Redis.Pool.Maxwait = -1 Spring.redis.pool.maxidle = 8 Spring.redis.Minidle = 0 Spring.Redis.Timedis.Times.Times.
Erstellen Sie eine neue Datei redisconfig.java, um Konfigurationsdateien zu speichern.
@Configuration @EnableCaching // Öffnen Sie die Annotation Public Class Redisconfig erweitert CachingConFigurersupport {@Bean public CacheManager CacheManager (redistemplate <?,?> Redistemplate) {cacheManager cacheManager = New Rediscachemanager (Redistemplate); CacheManager zurückgeben; } @Bean public redistemplate <String, String> redISTemplate (redisconnectionFactory factory) {redItemplate <string, string> redISTemplate = new redistemplate <string, string> (); redistemplate.setConnectionFactory (Fabrik); Redistemplate zurückgeben; }}Erstellen Sie im Servicepaket eine Redisserservice.java -Klasse.
public interface RedisService {public void set (String -Schlüssel, Objektwert); öffentliches Objekt get (String -Schlüssel); }Erstellen Sie eine neue Service -Implementierungsklasse RedisserserviceImpl.java.
@ServicePublic Class RedisServiceImPlements implementiert RedisService {@resource private redistemplate <String, Objekt> redistemplate; public void set (String -Schlüssel, Objektwert) {valueOperations <String, Objekt> vo = redItemplate.opsforValue (); vo.set (Schlüssel, Wert); } öffentliches Objekt get (String -Schlüssel) {valueOperations <String, Objekt> vo = redItemplate.opsforValue (); return vo.get (Schlüssel); }}Erstellen Sie einen neuen Controller -Layer -Code UserController.java
@Controller @RequestMapping (path = "/user") öffentliche Klasse UserController {@autowired private UserService UserService; @Autowired Private Redisserservice Redisserservice; // einen Benutzer von Redis@RequestMapping (value = "/getUserfromredis", method = requestMethod.get) public @Responbody user getRedis (@RequestParam String -Schlüssel) {return (Benutzer) reverservice.get (Key); } // Alle Benutzer @RequestMapping (value = "/getusers", method = requestMethod.get) public @ResponseBody Page <Bene <Benutzer> Liste (Modellmodell, lächerlich) {return userService.findall (pagable); } // user @getMapping hinzufügen (value = "/adduser") public @RespondeBody String adduser (@RequestParam String dictum, @RequestParam -String -Passwort, @RequestParam -String -Benutzername) {user user = new user (); user.setDictum (dictum); user.setPassword (Passwort); user.SetUnername (Benutzername); System.out.println (Benutzer); UserService.Saveuser (Benutzer); redisService.set (user.getId ()+"", user); zurück "gespeichert"; }}Der Code der Entitätsklasse User.java in diesem Artikel ist wie folgt: Das Speichern von Objekten in Redis erfordert eine Serialisierung.
@Entity@table (name = "s_user") public class user implements serializable {private static long serialversionuid = 1l; @ID @generatedValue (Strategy = GenerationType.auto) Private Integer ID; privater String -Benutzername; privates Zeichenfolgenkennwort; privates String -Diktum; @Onetomany (mapedby = "user", fetch = fetchType. Lazy, Cascade = {Cascadetype. Alle}) private set <Fotos> setPhoto; // Getter und setzter @Override public String toString () {return "user [id =" + id + ", userername =" + userername + ", passwod =" + password + ", dictum =" + dictum + ", setPhoto =" + setPhoto + "] weglassen. }}Zusammenfassen
Die obige Methode ist die Methode zur Integration von Redis -Datenbank für Springboot, die Ihnen vom Editor vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!