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

Ein kurzer Vortrag über MySQL-Pivottabellen

Ich habe eine Produktteiletabelle wie diese: Teil...

Beispielcode und Methode zum Speichern von Arrays in MySQL

Beim Schreiben gespeicherter Prozeduren werden hä...

Sind Sie immer noch Select *?

Es gibt viele Gründe, warum eine Anwendung langsa...

Einfache Installation des vi-Befehls im Docker-Container

Wenn Sie einen Docker-Container verwenden, ist vi...

Ein Beispiel zum Schreiben eines großen Sonnenwettersymbols in reinem CSS

Wirkung Das Wirkungsdiagramm sieht wie folgt aus ...

Vier Lösungen für die Verwendung von setTimeout in JS for-Schleifen

Inhaltsverzeichnis Überblick Lösung 1: Verschlüss...

Installationsschritte von MySQL unter Linux

1. Laden Sie die MySQL-Tar-Datei herunter: https:...

Detailliertes Tutorial zum Aufbau eines lokalen Ideenaktivierungsservers

Vorwort Der Blogger verwendet die Idea IDE. Da di...

Warum MySQL die Verwendung von Nullspalten mit Standardwerten nicht empfiehlt

Die Antwort, die Sie oft hören, ist, dass die Ver...

Ist es notwendig, dem Img-Bild-Tag ein Alt-Attribut zuzuweisen?

Fügen Sie dem img-Bild-Tag ein Alt-Attribut hinzu?...