So implementieren Sie eine Remote-Verbindung für Redis unter Linux

So implementieren Sie eine Remote-Verbindung für Redis unter Linux

Nachdem Sie Redis unter Linux installiert haben, verwenden Sie Java zum Herstellen einer Verbindung. Der Java-Code lautet wie folgt

Paket com.wzj.demo.test;
 
importiere redis.clients.jedis.Jedis;
 
/**
 * Erstellt von wzj am 29.03.2018.
 */
öffentliche Klasse RedisJava
{
  öffentliche statische void main(String[] args)
  {
    //Mit dem lokalen Redis-Dienst Jedis verbinden jedis = new Jedis("192.168.3.45");
    System.out.println("Verbindung erfolgreich");
 
    //Redis-String-Daten festlegen jedis.set("runoobkey", "www.runoob.com");
 
    // Holen Sie die gespeicherten Daten und geben Sie sie aus System.out.println("Der in Redis gespeicherte String lautet: " + jedis.get("runoobkey"));
  }
}

Melden Sie den folgenden Fehler:

Ausnahme im Thread „main“ redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketException: Verbindung zurückgesetzt
	bei redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:202)
	bei redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
	bei redis.clients.jedis.Protocol.process(Protocol.java:151)
	bei redis.clients.jedis.Protocol.read(Protocol.java:215)
	bei redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
	bei redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
	bei redis.clients.jedis.Jedis.set(Jedis.java:121)
	bei com.wzj.demo.test.RedisJava.main(RedisJava.java:17)
	bei sun.reflect.NativeMethodAccessorImpl.invoke0 (native Methode)
	bei sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	bei sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	bei java.lang.reflect.Method.invoke(Method.java:498)
	bei com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Ursache: java.net.SocketException: Verbindung zurückgesetzt
	bei java.net.SocketInputStream.read(SocketInputStream.java:209)
	bei java.net.SocketInputStream.read(SocketInputStream.java:141)
	bei java.net.SocketInputStream.read(SocketInputStream.java:127)
	bei redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:196)
	... 12 mehr

Verwenden Sie Telnet 192.168.3.45 6379 und stellen Sie fest, dass der Port blockiert ist.

Nach einer Online-Suche und -Analyse lautet der Grund: Redis erlaubt standardmäßig nur lokale Verbindungen und keine Verbindungen von anderen Maschinen. Die folgenden Änderungen müssen vorgenommen werden:

(1) Ändern Sie die Datei redis.conf und kommentieren Sie die Zeile bind 127.0.0.1 ::1 aus.

(2) Ändern Sie die Datei redis.conf und setzen Sie den geschützten Modus auf nein

(3) Beim Start müssen Sie die Datei redis.conf angeben und den Befehl ./src/redis-server redis.conf ausführen

Starten Sie den Test nach der Einrichtung neu und stellen Sie sicher, dass der Java-Code normal eine Verbindung herstellen kann.

Der obige Artikel zum Zulassen einer Remote-Verbindung für Redis unter Linux ist alles, was ich mit Ihnen teilen kann. Ich hoffe, er kann Ihnen als Referenz dienen, und ich hoffe auch, dass Sie 123WORDPRESS.COM unterstützen werden.

Das könnte Sie auch interessieren:
  • So ermöglichen Sie Remote-Hosts den Zugriff auf den Redis-Server
  • Detaillierte Erläuterung der Redis-Remote-Login-Verbindung
  • Detaillierte Schritte zum Aktivieren des Fernzugriffs in Redis 3.2
  • So installieren Sie Redis und die Redis-Erweiterung auf der Linux-Plattform

<<:  Tutorial zur manuellen Installation und Konfiguration von mysql8.0.11 winx64

>>:  Detaillierte Erläuterung der stillen Anmeldung beim WeChat-Applet und der Aufrechterhaltung des benutzerdefinierten Anmeldestatus

Artikel empfehlen

So verwenden Sie die Baidu Map API im Vue-Projekt

Inhaltsverzeichnis 1. Registrieren Sie ein Konto ...

innodb_flush_method-Wertmethode (Beispielerklärung)

Mehrere typische Werte von innodb_flush_method fs...

Reiner CSS3-Code zur Implementierung einer laufenden Uhr

Wirkung der OperationCode-Implementierung html &l...

Zusammenfassung der speicherbezogenen Parameter von MySQL 8.0

Theoretisch entspricht der von MySQL verwendete S...

Die Komponente vue-cropper realisiert das Zuschneiden und Hochladen von Bildern

In diesem Artikel wird der spezifische Code der V...

Löschen Sie den Image-Vorgang von „none“ in Docker-Images

Da ich normalerweise den Befehl „Docker Build“ ve...

Sechs Möglichkeiten zur Steigerung der Geschwindigkeit Ihrer Website

1. Ersetzen Sie die Adresse Ihrer .js-Bibliotheks...

So rufen Sie einen HTML-Code auf mehreren HTML-Seiten gemeinsam auf

Methode 1: Skriptmethode verwenden: Erstellen Sie...