recherche
Maisonbase de donnéesRedisComment utiliser Redis correctement dans Springboot

Comment utiliser Redis correctement dans Springboot

May 29, 2023 pm 03:07 PM
redisspringboot

Redis implémente la mise en cache des données. Dans le projet, certaines données de dictionnaire, données de session et données temporaires seront stockées dans Redis. De manière générale, plusieurs threads peuvent utiliser une seule implémentation Redis ensemble. L'implémentation d'un seul thread gaspille trop de ressources. Il est très dangereux de ne pas pouvoir contrôler le nombre de threads, c'est pourquoi certains composants du pool de threads Redis sont apparus. Parlons des deux composants principaux.

le pool de threads jedis signifie principalement que chaque instance a son propre thread et que les threads peuvent être obtenus à partir du pool qu'elle crée
lettuce lettuce est un outil de pool de threads lancé par Apache. Son instance redis peut être partagée et accessible par plusieurs threads. amélioration Utilisation améliorée des ressources

configuration de la sérialisation redis

De manière générale, redis-key utilise la sérialisation de chaîne ; redis-value utilise la sérialisation json. JSON est de petite taille et hautement lisible, et n'a pas besoin d'implémenter l'interface du sérialiseur.

/**
 * 对redis的配置.
 */
@Configuration
public class RedisConfig {

    @Autowired
    private RedisConnectionFactory redisConnectionFactory;

    /**
     * redis重写RedisTemplate.
     */
    @Bean
    public RedisTemplate redisTemplate() {
        RedisTemplate redisTemplate = new RedisTemplate();
        RedisSerializer<String> stringSerializer = new StringRedisSerializer();
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        //序列化时允许非常量字段均输出类型,即redis序列化后带有类型
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        // redis key的序列化
        redisTemplate.setKeySerializer(stringSerializer);
        redisTemplate.setHashKeySerializer(stringSerializer);

        // redis value的序列化
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);

        redisTemplate.setConnectionFactory(redisConnectionFactory);
        return redisTemplate;
    }
}

Dans le code ci-dessus, la chaîne json générée par om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL) a un type, de sorte qu'elle puisse être directement déduite via le type lors de la désérialisation.

[
  "com.lind.basic.entity.Token",
  {
    "credentials": "ok",
    "region": "hello",
    "bucket": null
  }
]

Regardez le code d'ajout et de lecture

 @GetMapping("set")
    public String set() throws JsonProcessingException {
        Token token = Token.builder()
                .credentials("ok")
                .region("hello")
                .build();
        redisTemplate.opsForValue().set("test:user", token);//redisTemplate帮我们序列化
        redisTemplate.opsForHash().put("author", "zzl", token);
        return "OK";
    }

    @GetMapping("get")
    public Token get() throws IOException {
        return (Token) redisTemplate.opsForValue().get("test:user");
    }

Remarque : pour la classe d'entité Token, elle doit avoir un constructeur sans argument, qui est nécessaire pour la désérialisation.

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
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer
Redis: améliorer les performances et l'évolutivité des applicationsRedis: améliorer les performances et l'évolutivité des applicationsApr 17, 2025 am 12:16 AM

Redis améliore les performances et l'évolutivité des applications en mettant en cache des données, implémentant le verrouillage distribué et la persistance des données. 1) Données de cache: utilisez Redis pour mettre en cache les données fréquemment accessibles pour améliorer la vitesse d'accès aux données. 2) Verrouillage distribué: utilisez Redis pour implémenter les verrous distribués pour assurer la sécurité du fonctionnement dans un environnement distribué. 3) Persistance des données: assurer la sécurité des données via les mécanismes RDB et AOF pour éviter la perte de données.

Redis: explorer son modèle de données et sa structureRedis: explorer son modèle de données et sa structureApr 16, 2025 am 12:09 AM

Le modèle et la structure de données de Redis incluent cinq types principaux: 1. String: Utilisé pour stocker des données de texte ou binaires et prend en charge les opérations atomiques. 2. Liste: collection d'éléments commandés, adapté aux files d'attente et aux piles. 3. Ensemble: Éléments uniques non ordonnés Ensemble, soutenant le fonctionnement de l'ensemble. 4. Ensemble ordonné (triset): un ensemble unique d'éléments avec des scores, adaptés aux classements. 5. Table du hachage (hachage): une collection de paires de valeurs clés, adaptées au stockage d'objets.

Redis: classifier son approche de base de donnéesRedis: classifier son approche de base de donnéesApr 15, 2025 am 12:06 AM

Les méthodes de base de données de Redis incluent les bases de données en mémoire et le stockage de valeurs de clé. 1) Redis stocke les données en mémoire, lit et écrit rapidement. 2) Il utilise des paires de valeurs clés pour stocker des données, prend en charge des structures de données complexes telles que les listes, les collections, les tables de hachage et les collections ordonnées, adaptées aux caches et aux bases de données NoSQL.

Pourquoi utiliser Redis? Avantages et avantagesPourquoi utiliser Redis? Avantages et avantagesApr 14, 2025 am 12:07 AM

Redis est une puissante solution de base de données car elle offre des performances rapides, de riches structures de données, une haute disponibilité et une évolutivité, des capacités de persistance et un large éventail de support écosystémique. 1) Performances extrêmement rapides: les données de Redis sont stockées en mémoire et ont des vitesses de lecture et d'écriture extrêmement rapides, adaptées aux applications élevées de concurrence et de latence faible. 2) Rich Structure de données: prend en charge plusieurs types de données, tels que des listes, des collections, etc., qui conviennent à une variété de scénarios. 3) Haute disponibilité et évolutivité: prend en charge la réplication maître-esclave et le mode de cluster pour atteindre la haute disponibilité et l'évolutivité horizontale. 4) Persistance et sécurité des données: la persistance des données est obtenue via RDB et AOF pour garantir l'intégrité et la fiabilité des données. 5) Support d'écosystème et communautaire large: avec un énorme écosystème et une communauté active,

Comprendre le nosql: caractéristiques clés de RedisComprendre le nosql: caractéristiques clés de RedisApr 13, 2025 am 12:17 AM

Les caractéristiques clés de Redis incluent la vitesse, la flexibilité et le support de structure de données riche. 1) Speed: Redis est une base de données en mémoire, et les opérations de lecture et d'écriture sont presque instantanées, adaptées à la gestion du cache et de la session. 2) Flexibilité: prend en charge plusieurs structures de données, telles que des chaînes, des listes, des collections, etc., qui conviennent au traitement des données complexes. 3) Prise en charge de la structure des données: fournit des chaînes, des listes, des collections, des tables de hachage, etc., qui conviennent aux différents besoins commerciaux.

Redis: identifier sa fonction principaleRedis: identifier sa fonction principaleApr 12, 2025 am 12:01 AM

La fonction centrale de Redis est un système de stockage et de traitement de données en mémoire haute performance. 1) Accès aux données à grande vitesse: Redis stocke les données en mémoire et fournit une vitesse de lecture et d'écriture au niveau microseconde. 2) Rich Structure de données: prend en charge les chaînes, les listes, les collections, etc., et s'adapte à une variété de scénarios d'application. 3) Persistance: Persister les données sur le disque via RDB et AOF. 4) Publier l'abonnement: peut être utilisé dans les files d'attente de messages ou les systèmes de communication en temps réel.

Redis: un guide des structures de données populairesRedis: un guide des structures de données populairesApr 11, 2025 am 12:04 AM

Redis prend en charge une variété de structures de données, notamment: 1. String, adapté au stockage des données à valeur unique; 2. Liste, adaptée aux files d'attente et aux piles; 3. SET, utilisé pour stocker des données non dégonflées; 4. Ensemble ordonné, adapté aux listes de classement et aux files d'attente de priorité; 5. Table du hachage, adapté au stockage des données d'objet ou structurées.

Comment implémenter Redis CounterComment implémenter Redis CounterApr 10, 2025 pm 10:21 PM

Redis Counter est un mécanisme qui utilise le stockage de la paire de valeurs de clés Redis pour implémenter les opérations de comptage, y compris les étapes suivantes: création de clés de comptoir, augmentation du nombre, diminution du nombre, réinitialisation du nombre et objet de comptes. Les avantages des compteurs Redis comprennent une vitesse rapide, une concurrence élevée, une durabilité et une simplicité et une facilité d'utilisation. Il peut être utilisé dans des scénarios tels que le comptage d'accès aux utilisateurs, le suivi des métriques en temps réel, les scores de jeu et les classements et le comptage de traitement des commandes.

See all articles

Outils d'IA chauds

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel