Table des matières
GO Redis Stream Message Fitre: Résolu intelligemment le problème de conversion de type user_id
Maison développement back-end Golang Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go?

Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go?

Apr 02, 2025 pm 04:54 PM
redis git Langue ai red

Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go?

GO Redis Stream Message Fitre: Résolu intelligemment le problème de conversion de type user_id

Lors de la création de files d'attente de messages à l'aide de GO et de Redis Stream, les problèmes de conversion des types entiers tels que user_id affligent souvent les développeurs. Cet article explorera ce problème en profondeur et fournira des solutions efficaces.

Supposons que votre application ait besoin d'écrire des données contenant user_id (type entier) dans Redis Stream. Vous pouvez rencontrer les problèmes suivants:

Description de la question:

Après avoir écrit directement sur Redis Stream, user_id devient un type de chaîne lors de la lecture. Par exemple:

Écrire: xadd mystream * user_id 123

Lire: xread block 0 streams mystream $ ( user_id est la chaîne "123")

Analyse des causes:

Redis est une chaîne dans le stockage sous-jacent de toutes les données. Même si vous écrivez un entier, Redis le convertira en un stockage de chaîne. Par conséquent, ce que vous obtenez naturellement lors de la lecture, c'est le type de chaîne.

Solution: sérialisation et désérialisation

Pour maintenir l'intégrité du type de données, nous devons sérialiser avant d'écrire sur Redis et désérialiser après la lecture. Il est recommandé d'utiliser JSON pour la sérialisation et la désérialisation.

Voici un exemple de code qui montre comment résoudre ce problème à l'aide de JSON:

 package principal

importer (
    "Encodage / JSON"
    "FMT"
    "github.com/go-redis/redis/v8"
)

Tapez le message Struct {
    UserId int `json:" user_id "`
    // ... Autres champs
}

func main () {
    Client: = redis.newclient (& redis.options {
        Addr: "localhost: 6379",
    })

    // Message de données d'écriture: = message {userId: 123}
    JSONDATA, ERR: = JSON.MARSHAL (Message)
    Si err! = Nil {
        panique (euh)
    }

    err = client.xadd (& redis.xaddargs {
        Stream: "mystream",
        VALEURS: Map [String] Interface {} {
            "Données": JSONDATA, // Stocker les données JSON en valeur},
    }).Se tromper()
    Si err! = Nil {
        panique (euh)
    }

    // Lire Data Stream, err: = client.xread (& redis.xreadargs {
        Streams: [] String {"MyStream", "0"},
        Bloc: 0,
    }).Résultat()
    Si err! = Nil {
        panique (euh)
    }

    pour _, message: = range stream [0] .Messages {
        Message Var ReçuSage
        JSON.UNMARSHAL ([] BYTE (Message.Values ​​["Data"]. (String)), & ReçuMessage) // Desérialize JSON Data FMT.Printf ("ID utilisateur reçu:% D \ N", ReçuSage.Userid)
    }
}

Ce code sérialise d'abord la structure Message en une chaîne JSON, puis stocke la chaîne JSON dans un flux redis. Lors de la lecture, désérialisez la chaîne JSON à la structure Message , restaurant ainsi le type entier de user_id . Cela garantit la cohérence du type des données pendant le stockage et la lecture dans Redis. J'espère que cet exemple peut vous aider à résoudre efficacement le problème de conversion de type dans la file d'attente de messages GO Redis Stream.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Qu'est-ce que Lumoz (MOZ COIN)? Économie de jetons Moz et prévisions de prix Qu'est-ce que Lumoz (MOZ COIN)? Économie de jetons Moz et prévisions de prix Aug 29, 2025 pm 04:21 PM

Contenu Quel est Lumoz (Moz Token) Comment Lumoz (Moz) fonctionne 1. Défilé de couche de blockchain modulaire et historique des caractéristiques Lumoz de Moz Token Pratiquement Prix de Moz Token History of Moz Token Eamocs Présentation Lumoz Prix Lumoz 2025 Prix Prix Lumoz 2026-2031 Prix de prix LUMOZ 2031-2036 Prévisions de prix Prévisions de prix LuMoz 2031-2036 Solutions d'extension. Cependant, L2 ne gère pas efficacement de nombreuses ressources matérielles, y compris la disponibilité des données, ZKP (Zero Knowledge Proof)

Bitcoin (BTC) 13,8 milliards de dollars d'expiration de l'option est imminente, Test de clés de face des taureaux Bitcoin (BTC) 13,8 milliards de dollars d'expiration de l'option est imminente, Test de clés de face des taureaux Aug 29, 2025 pm 04:15 PM

Points clés du catalogue: La stratégie haussée du Bitcoin se défend faiblement en dessous de 114 000 $. Les tendances et les performances des actions technologiques de la Fed pourraient dominer la tendance future du bitcoin. La date d'expiration de l'option Bitcoin approche, et le secteur technologique est sous pression peut révéler si le retrait actuel est une suspension d'un marché haussier ou le début d'un renversement de tendance. Points clés: Bitcoin Short Side a un avantage inférieur à 114 000 $, et la pression à la baisse peut encore augmenter à mesure que la date d'expiration de l'option approche. Les préoccupations du marché concernant les dépenses en capital dans le domaine de l'intelligence artificielle (IA) ont augmenté la volatilité aggravée sur le marché financier global et affaibli l'attractivité des actifs risqués. L'option Bitcoin (BTC) de 13,8 milliards de dollars expirera de manière concentrée le 29 août. Le marché accorde une attention particulière à ce nœud pour déterminer si la baisse précédente de 9,7% est courte.

Qu'est-ce que Duckchain (canard)? Prévisions de prix de canard 2025-2030 Qu'est-ce que Duckchain (canard)? Prévisions de prix de canard 2025-2030 Aug 29, 2025 pm 04:24 PM

Répertoire Qu'est-ce que Duckchain (canard)? Les objectifs de Duckchain et la vision du jeton de canard économie de canard Plan de sortie de jetons de canard $ Utilisation des jetons de canard Les facteurs qui affectent le prix du prix du canard (Duck) Duckchain (canard) 2025-2030 Prévisions de prix 1. 2025 Prix de prix 2. 2030 Prix Prévision de Duckchain (Duck) 2025-2030

Qu'est-ce que Cronos (Cro Coin)? Est-ce un bon investissement? Prévisions de prix futurs de la pièce CRO Qu'est-ce que Cronos (Cro Coin)? Est-ce un bon investissement? Prévisions de prix futurs de la pièce CRO Sep 02, 2025 pm 08:51 PM

Contenu Qu'est-ce que Cronos (CRO) Combien de pièces de crocro y a-t-il des fonctions principales CRO et Solana Comparaison de l'équipe technique derrière CRO et les nouvelles et les événements importants sont CRO un bon investissement CRO prévoient des prix à long terme CRO2031-2036 Prévision des prix FAQ CRONOS (CRO) Le projet est bien connu pour sa position à l'intersection des blockchains Ethereum et Cosmos. Comme base

11 milliards de dollars Bitcoin (BTC) Giant baleine parie sur Ethereum pour augmenter, achetant 108 millions de dollars Ethereum 11 milliards de dollars Bitcoin (BTC) Giant baleine parie sur Ethereum pour augmenter, achetant 108 millions de dollars Ethereum Aug 29, 2025 pm 03:57 PM

Une baleine géante qui contrôle plus de 11 milliards de dollars d'actifs bitcoin se retire progressivement de sa position de dérivés Ethereum précédemment établie et change ses fonds pour repérer Ethereum, avec une échelle d'achat de centaines de millions de dollars, montrant une forte confiance dans la tendance des prix futurs de l'ETH. Selon Cintelelegraph, la baleine géante a vendu 22 769 Bitcoins (BTC) la semaine dernière, encaissant environ 2,59 milliards de dollars, puis a utilisé le produit pour acheter 472 920 Spot Ethereum (ETH), et a établi une position de 577 millions de dollars sur la plate-forme de négociation décentralisée hyperquide. Source: LookonChain Selon la plate-forme d'analyse des données blockchain Lookonchain, le

BNB Certification Service (BAS COIN) 2025-2030 Prévisions de prix: combien le prix atteindra-t-il à l'avenir? BNB Certification Service (BAS COIN) 2025-2030 Prévisions de prix: combien le prix atteindra-t-il à l'avenir? Sep 02, 2025 pm 07:00 PM

Table des matières Quelles sont les dernières nouvelles et mises à jour des pièces BAS? Qu'est-ce que Bas Coin introduit par l'équipe de développement des services de certification BNB? BAS Token Economics BNB Certification Service (BAS) Price Forecast 2025–2030BNB Certification Service (BAS) Price Forecast Bollinger Bands and Momentum Indicators BNB Certification Service (BAS) Price Forecast 2025–2030BNB Certification Service (BAS) Price Forecast 2026 Price Forecast BNB Certification Service (BAS) Price Forecast

Le téléphone de jeu le plus fort! La liste des performances phares d'Antutu Android en août est publiée: Red Magic 10s Pro First Le téléphone de jeu le plus fort! La liste des performances phares d'Antutu Android en août est publiée: Red Magic 10s Pro First Sep 02, 2025 pm 06:45 PM

2 septembre News, récemment, Antutu a publié le classement des performances des téléphones phares d'Android en août, et la Snapdragon 8 Supreme Edition and Dimensity 9400 a toujours dominé la liste. La liste montre que le Red Magic 10Spro est toujours le téléphone de jeu le plus fort à l'heure actuelle, se classant d'abord avec un score exécutif moyen de 2947567. Le Red Magic 10Spro est équipé d'un processeur de premier plan suprême Snapdragon 8, et son processeur adopte une architecture haute performance. La fréquence centrale super-large monte à 4,47 GHz, offrant une puissance de calcul puissante pour les téléphones mobiles. De plus, la combinaison supérieure de la mémoire LPDDR5T et de la mémoire flash UFS4.1pro, elle a une finesse extrêmement. La deuxième place est Vivox200ultra, avec un score de course moyen de 2899541, et est équipé de Snapdragon 8 Supreme Edition. Bien que le téléphone se concentre sur l'imagerie, ses performances sont également publiées.

Qu'est-ce que Simon's Cat (Cat Coin)? Prévisions des prix du chat 2025-2030 Qu'est-ce que Simon's Cat (Cat Coin)? Prévisions des prix du chat 2025-2030 Aug 29, 2025 pm 04:12 PM

Qu'est-ce que Cat (Simon'scat)? Comment fonctionne Simon’scat? La mission et la vision d'origine de Simon'scat et les autres fonctionnalités uniques comparatives de Memecoin et la participation de la communauté Simon's Simon's Principaux Produits Cat's Cat's Token Economic Token Mode économique Pratiques et récompenser les conditions actuelles du marché et les prix Facteurs influençant le prix de Cat (Simon'scat) est Simon'scat un bon investissement? Cat (Simon & # 39;

See all articles