Comment sérialiser Redisson
Redisson est une grille de données basée sur la mémoire Java implémentée sur la base de Redis. Comparée à Jedis, qui expose les opérations sous-jacentes, Redisson. fournit une série d'objets communs Java distribués et fournit également de nombreux services distribués. (Apprentissage recommandé : Tutoriel vidéo Redis)
Sérialisation
La classe d'encodage d'objet de Redisson est utilisée pour convertir des objets Effectuer la sérialisation et désérialisation pour lire et stocker l'objet dans Redis.
L'encodeur par défaut de Redisson est JsonJacksonCodec. Lorsque JsonJackson sérialise des objets avec des références bidirectionnelles, une exception de boucle infinie se produit. Une fois que fastjson a extrait la double référence, il la remplacera automatiquement par le caractère de référence $ref et terminera le cycle.
Dans mon cas, j'ai sérialisé un service. Ce service a été hébergé par Spring, et il est également injecté les uns dans les autres avec un autre service. Fastjson peut être sérialisé vers Redis normalement, tandis que JsonJackson peut lancer une exception de boucle infinie. .
Afin de rendre visible le contenu sérialisé, il n'est pas nécessaire d'utiliser les autres encodeurs binaires intégrés de redission et d'implémenter l'encodeur par vous-même :
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; } }
Plus de Redis articles techniques connexes, veuillez visiter la colonne Tutoriel de démarrage de Redis pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Scénario d'utilisation 1. La commande a été passée avec succès mais le paiement n'a pas été effectué dans les 30 minutes. Le paiement a expiré et la commande a été automatiquement annulée 2. La commande a été signée et aucune évaluation n'a été effectuée pendant 7 jours après la signature. Si la commande expire et n'est pas évaluée, le système donne par défaut une note positive. 3. La commande est passée avec succès. Si le commerçant ne reçoit pas la commande pendant 5 minutes, la commande est annulée. 4. Le délai de livraison expire et. un rappel par SMS est envoyé... Pour les scénarios avec des délais longs et de faibles performances en temps réel, nous pouvons utiliser la planification des tâches pour effectuer un traitement d'interrogation régulier. Par exemple : xxl-job Aujourd'hui, nous allons choisir

Fichier 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 : 6379mot de passe

Si vous avez déjà utilisé Redis, vous obtiendrez deux fois le résultat avec la moitié de l'effort en utilisant Redisson, qui constitue le moyen le plus simple et le plus pratique d'utiliser Redis. Le but de Redisson est de promouvoir la séparation des préoccupations des utilisateurs (Separation of Concern) de Redis, afin que les utilisateurs puissent se concentrer davantage sur le traitement de la logique métier.

Redisson est une solution de mise en cache basée sur Redis pour les applications Java. Il fournit de nombreuses fonctionnalités utiles qui rendent l'utilisation de Redis comme cache dans les applications Java plus pratique et efficace. Les fonctions de mise en cache fournies par Redisson incluent : 1. Cartographie distribuée (Map) : Redisson fournit des API pour créer des cartes distribuées. Ces cartes peuvent contenir des paires clé-valeur, des entrées de hachage ou des objets, et elles peuvent prendre en charge le partage entre plusieurs nœuds.

Redis et Redisson sont deux outils importants dans le stockage de données moderne en mémoire et le stockage de données distribué. Redis est une base de données open source en mémoire qui prend en charge différentes structures de données telles que des chaînes, des listes, des tables de hachage, des ensembles, etc. Redisson est un framework de services de données distribués écrit en langage Java, qui peut facilement mapper des objets Java au stockage distribué. Redis et Redisson ont les mêmes scénarios d'utilisation, tels que : Mise en cache : Redis et R

Avec le développement continu de la technologie Internet et la diversification des scénarios d'application, les applications distribuées sont devenues la norme pour les applications Internet modernes. Dans les applications distribuées, afin de coordonner la synchronisation des données et la collaboration entre les nœuds, un mécanisme de verrouillage distribué doit être utilisé. Redisson est un framework de verrouillage distribué basé sur la technologie Redis. Il fournit une API simple et facile à utiliser pour permettre aux développeurs Java d'utiliser des verrous distribués dans le développement. Cet article présente principalement l'utilisation de Redisson pour le traitement des verrous distribués dans le développement d'API Java.

À mesure que les applications Internet continuent de croître et que le nombre d'utilisateurs continue d'augmenter, la demande de systèmes distribués ne cesse de croître. Afin d’assurer la stabilité et la cohérence des données des systèmes distribués, l’utilisation de verrous est essentielle. Cependant, dans les systèmes distribués, la mise en œuvre de verrous est difficile et complexe. Les méthodes traditionnelles de mise en œuvre de verrous sont difficiles à répondre aux exigences de haute concurrence et de haute disponibilité. Par conséquent, cet article présentera comment utiliser Redisson pour implémenter des verrous d'API distribués afin de résoudre les problèmes de verrouillage dans les systèmes distribués. Redisson est une implémentation basée sur Redis

Intégration et précautions Redisson prend en charge l'environnement Redis, autonome, cluster, sentinelle, cloud, etc. Ici, je vais parler de ce à quoi vous devez faire attention en mode cluster. Redisson détectera si le nœud maître/esclave est normal au démarrage. De manière générale, il n'y a pas de problème avec 3 fragments, 3 maîtres et 3 esclaves. Cependant, si l'environnement de test comporte 1 fragment, 1 maître et 1 esclave, ou qu'aucun des 3 maîtres ne peut être démarré. Outre l’environnement, il faut également faire attention à la compatibilité avec ou sans mots de passe. Injectez manuellement la configuration redisson. Généralement, l'environnement de production dispose d'un mot de passe. S'il existe un mot de passe, il est recommandé d'injecter manuellement la configuration Redisson sans utiliser Springboot pour vous aider à l'intégrer, car Springboot risque de ne pas pouvoir reconnaître le mot de passe.
