Heim Datenbank Redis So serialisieren Sie Redisson

So serialisieren Sie Redisson

Nov 27, 2019 am 10:00 AM
redisson

So serialisieren Sie Redisson

Redisson ist ein Java-speicherbasiertes Datengrid, das auf der Basis von Redis implementiert wird und zugrunde liegende Vorgänge offenlegt stellt eine Reihe verteilter gemeinsamer Java-Objekte und viele verteilte Dienste bereit. (Empfohlenes Lernen: Redis-Video-Tutorial)

Serialisierung

Die Objektcodierungsklasse von Redisson wird zum Konvertieren von Objekten verwendet. Führen Sie eine Serialisierung durch und Deserialisierung zum Lesen und Speichern des Objekts in Redis.

Der Standard-Encoder von Redisson ist JsonJacksonCodec. Wenn JsonJackson Objekte mit bidirektionalen Referenzen serialisiert, tritt eine Endlosschleifenausnahme auf. Nachdem fastjson die doppelte Referenz ausgecheckt hat, ersetzt es diese automatisch durch das Referenzzeichen $ref und beendet den Zyklus.

In meinem Fall habe ich einen Dienst serialisiert, der von Spring gehostet wurde, und er kann normal in einen anderen Dienst eingefügt werden, während JsonJackson eine Endlosschleifenausnahme auslösen kann.

Um den serialisierten Inhalt sichtbar zu machen, ist es nicht erforderlich, die anderen integrierten binären Encoder von Redission zu verwenden und den Encoder selbst zu implementieren:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.ByteBufInputStream;
import io.netty.buffer.ByteBufOutputStream;
import org.redisson.client.codec.BaseCodec;
import org.redisson.client.protocol.Decoder;
import org.redisson.client.protocol.Encoder;

import java.io.IOException;

public class FastjsonCodec extends BaseCodec {

 private final Encoder encoder = in -> {
 ByteBuf out = ByteBufAllocator.DEFAULT.buffer();
 try {
 ByteBufOutputStream os = new ByteBufOutputStream(out);
 JSON.writeJSONString(os, in,SerializerFeature.WriteClassName);
 return os.buffer();
 } catch (IOException e) {
 out.release();
 throw e;
 } catch (Exception e) {
 out.release();
 throw new IOException(e);
 }
 };

 private final Decoder<Object> decoder = (buf, state) ->
 JSON.parseObject(new ByteBufInputStream(buf), Object.class);

 @Override
 public Decoder<Object> getValueDecoder() {
 return decoder;
 }

 @Override
 public Encoder getValueEncoder() {
 return encoder;
 }
}
Nach dem Login kopieren

Mehr Redis Verwandte technische Artikel. Bitte besuchen Sie die Spalte Redis Getting Started Tutorial, um mehr zu erfahren!

Das obige ist der detaillierte Inhalt vonSo serialisieren Sie Redisson. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie SpringBoot Redisson integriert, um eine Verzögerungswarteschlange zu implementieren Wie SpringBoot Redisson integriert, um eine Verzögerungswarteschlange zu implementieren May 30, 2023 pm 02:40 PM

Nutzungsszenario 1. Die Bestellung wurde erfolgreich aufgegeben, die Zahlung erfolgte jedoch nicht innerhalb von 30 Minuten. Die Zahlung ist abgelaufen und die Bestellung wurde automatisch storniert. 2. Die Bestellung wurde unterzeichnet und es wurde 7 Tage lang keine Bewertung durchgeführt. Wenn die Bestellung abläuft und nicht ausgewertet wird, wird die Bestellung standardmäßig positiv bewertet. Wenn der Händler die Bestellung innerhalb von 5 Minuten nicht erhält, wird die Bestellung abgebrochen Es wird eine SMS-Erinnerung gesendet ... Für Szenarien mit langen Verzögerungen und geringer Echtzeitleistung können wir die Aufgabenplanung verwenden, um eine regelmäßige Abfrageverarbeitung durchzuführen. Zum Beispiel: xxl-job Heute werden wir auswählen

Beispielanalyse der Java Redis Redisson-Konfiguration Beispielanalyse der Java Redis Redisson-Konfiguration Apr 25, 2023 am 08:19 AM

Download Mavenorg.springframework.bootspring-boot-starter-data-redisio.lettucelettuce-coreredis.clientsjedisorg.springframework.sessionspring-session-data-redisorg.redissonredisson3.17.5application-redis.ymlspring:redis:host:106.12.174.220port: 6379Passwort

Die Königslösung unter den verteilten Schlössern – Redisson Die Königslösung unter den verteilten Schlössern – Redisson Aug 24, 2023 pm 03:31 PM

Wenn Sie Redis bereits verwendet haben, erzielen Sie mit Redisson das doppelte Ergebnis mit halbem Aufwand. Redisson bietet die einfachste und bequemste Möglichkeit, Redis zu verwenden. Der Zweck von Redisson besteht darin, die Trennung der Benutzer von Redis zu fördern, damit sich Benutzer mehr auf die Verarbeitung der Geschäftslogik konzentrieren können.

Erfahren Sie mehr über die Caching-Technologie von Redisson Erfahren Sie mehr über die Caching-Technologie von Redisson Jun 21, 2023 am 09:54 AM

Redisson ist eine Redis-basierte Caching-Lösung für Java-Anwendungen. Es bietet viele nützliche Funktionen, die die Verwendung von Redis als Cache in Java-Anwendungen komfortabler und effizienter machen. Zu den von Redisson bereitgestellten Caching-Funktionen gehören: 1. Verteilte Zuordnung (Karte): Redisson stellt einige APIs zum Erstellen verteilter Karten bereit. Diese Karten können Schlüssel-Wert-Paare, Hash-Einträge oder Objekte enthalten und die gemeinsame Nutzung durch mehrere Knoten unterstützen.

Die Unterschiede und Nutzungsszenarien zwischen Redis- und Redisson-Frameworks Die Unterschiede und Nutzungsszenarien zwischen Redis- und Redisson-Frameworks May 11, 2023 pm 03:40 PM

Redis und Redisson sind zwei wichtige Tools für die moderne In-Memory-Datenspeicherung und verteilte Datenspeicherung. Redis ist eine Open-Source-In-Memory-Datenbank, die verschiedene Datenstrukturen wie Strings, Listen, Hash-Tabellen, Sätze usw. unterstützt. Redisson ist ein in der Java-Sprache geschriebenes verteiltes Datendienst-Framework, mit dem Java-Objekte problemlos verteiltem Speicher zugeordnet werden können. Redis und Redisson haben einige gleiche Verwendungsszenarien, wie zum Beispiel: Caching: Redis und R

Verwendung von Redisson für die verteilte Sperrverarbeitung in der Java-API-Entwicklung Verwendung von Redisson für die verteilte Sperrverarbeitung in der Java-API-Entwicklung Jun 17, 2023 pm 09:08 PM

Mit der kontinuierlichen Weiterentwicklung der Internettechnologie und der Diversifizierung der Anwendungsszenarien sind verteilte Anwendungen zum Standard für moderne Internetanwendungen geworden. In verteilten Anwendungen muss ein verteilter Sperrmechanismus verwendet werden, um die Datensynchronisierung und Zusammenarbeit zwischen Knoten zu koordinieren. Redisson ist ein Framework für verteilte Sperren, das auf der Redis-Technologie basiert. Es bietet eine einfache und benutzerfreundliche API, um Java-Entwicklern die Verwendung verteilter Sperren in der Entwicklung zu erleichtern. In diesem Artikel wird hauptsächlich die Verwendung von Redisson für die verteilte Sperrverarbeitung in der Java-API-Entwicklung vorgestellt.

Java-Backend-Entwicklung: Verwendung von Redisson zur Implementierung verteilter API-Sperren Java-Backend-Entwicklung: Verwendung von Redisson zur Implementierung verteilter API-Sperren Jun 17, 2023 am 10:40 AM

Da Internetanwendungen immer weiter zunehmen und die Zahl der Nutzer weiter zunimmt, wird die Nachfrage nach verteilten Systemen immer größer. Um die Stabilität und Datenkonsistenz verteilter Systeme sicherzustellen, ist der Einsatz von Sperren unerlässlich. In verteilten Systemen ist die Implementierung von Sperren jedoch schwierig und komplex. Mit herkömmlichen Methoden zur Sperrenimplementierung ist es schwierig, die Anforderungen hoher Parallelität und hoher Verfügbarkeit zu erfüllen. Daher wird in diesem Artikel erläutert, wie Sie mit Redisson verteilte API-Sperren implementieren und Sperrprobleme in verteilten Systemen lösen können. Redisson ist eine auf Redis basierende Implementierung

Wie Spring Boot Redisson integriert Wie Spring Boot Redisson integriert May 14, 2023 pm 07:46 PM

Integration und Vorsichtsmaßnahmen Redisson unterstützt Redis-Umgebungen, Standalone, Cluster, Sentinel, Cloud usw. Hier werde ich darüber sprechen, worauf Sie im Cluster-Modus achten müssen. Redisson erkennt beim Start, ob der Master/Slave-Knoten normal ist. Im Allgemeinen gibt es kein Problem mit 3 Shards, 3 Mastern und 3 Slaves. Wenn die Testumgebung jedoch 1 Shard, 1 Master und 1 Slave hat oder keiner der 3 Master gestartet werden kann. Neben der Umgebung müssen Sie auch auf die Kompatibilität mit oder ohne Passwörter achten. Manuelles Einfügen der Redisson-Konfiguration. Im Allgemeinen verfügt die Produktionsumgebung über ein Kennwort. Wenn ein Kennwort vorhanden ist, wird empfohlen, die Redisson-Konfiguration manuell einzufügen, ohne Springboot zu verwenden, um die Integration zu erleichtern, da Springboot das Kennwort möglicherweise nicht erkennen kann.

See all articles