Maison > base de données > Redis > Comment l'intégration SpringBoot utilise Redis

Comment l'intégration SpringBoot utilise Redis

PHPz
Libérer: 2023-05-28 12:18:33
avant
707 Les gens l'ont consulté

    SpringBoot s'intègre à l'aide de redis

    Jedis est un client officiellement lancé par Redis pour Java, fournissant de nombreuses interfaces pour les appels du langage Java. Il peut être téléchargé sur le site officiel de Redis. Spring-data-redis fait partie de la famille Spring. Il permet d'accéder au service Redis via une configuration simple dans l'application Srping et encapsule fortement le package de développement sous-jacent de Reids (Jedis, JRedis, et RJC). RedisTemplate fournit diverses opérations Redis

    spring-data-redis fournit les fonctions suivantes pour jedis :

    1. gestion automatique des pools de connexions et fournit une classe "RedisTemplate" hautement encapsulée

    2. pour le client jedis. Un grand nombre d'API sont classées et encapsulées, et le même type d'opérations est encapsulé dans des interfaces d'opération

    ValueOperations : opération K-V simple

    SetOperations : opération de données de type set

    ZSetOperations : opération de données de type zset

    Hasherations. : pour les opérations de données de type carte

    ListOperations : pour les opérations de données de type liste

    3. Encapsulez les opérations de transaction et contrôlez les conteneurs.

    4. Une variété de stratégies facultatives (RedisSerializer) sont fournies pour la « sérialisation/désérialisation » des données

    JdkSerializationRedisSerializer : scénarios d'accès aux objets POJO, en utilisant le propre mécanisme de sérialisation du JDK

    StringRedisSerializer : Key ou In the Scénario Where Value. est une chaîne, la séquence d'octets des données est codée dans une chaîne selon le jeu de caractères spécifié, qui est une encapsulation directe de "new String(bytes, charset)" et "string.getBytes(charset)". est la stratégie la plus légère et la plus efficace.

    JacksonJsonRedisSerializer : l'outil jackson-json offre des capacités de conversion entre javabean et json. Il peut sérialiser les instances pojo au format json et les stocker au format redis, et peut également convertir les données au format json en instances pojo.

    Build

    1. Importez le package jar

    Comment lintégration SpringBoot utilise Redis

    <dependency> 
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-redis</artifactId> 
    </dependency>
    Copier après la connexion

    Comment lintégration SpringBoot utilise Redis

    2. Configurez la connexion à redis

    Comment lintégration SpringBoot utilise Redis

    Comment lintégration SpringBoot utilise Redis

    spring: 
     redis: 
     	host: 192.168.31.100 
     	port: 6379
        password: 111 
        database: 0 
        pool: max-active: 8 # 连接池最大连接数(使用负值表示没有限制) 
        	max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
    		max-idle: 8 # 连接池中的最大空闲连接 
    		min-idle: 0 # 连接池中的最小空闲连接 
    		timeout: 5000ms # 连接超时时间(毫秒)
    Copier après la connexion

    Ajoutez la configuration ci-dessus sous spring dans le fichier application.yml

    .

    3.Ajouter une classe de configuration RedisConfig

    Comment lintégration SpringBoot utilise Redis

    package com.ffyc.back.demo.config;
    
    import com.fasterxml.jackson.annotation.JsonAutoDetect;
    import com.fasterxml.jackson.annotation.JsonTypeInfo;
    import com.fasterxml.jackson.annotation.PropertyAccessor;
    import com.fasterxml.jackson.databind.DeserializationFeature;
    import com.fasterxml.jackson.databind.ObjectMapper;
    import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.redis.connection.RedisConnectionFactory;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
    import org.springframework.data.redis.serializer.StringRedisSerializer;
    @Configuration
    public class RedisConfig {
        /**
         * 序列化键,值
         * @param connectionFactory
         * @return
         */
        @Bean
        public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connectionFactory) {
            RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
            redisTemplate.setConnectionFactory(connectionFactory);
            Jackson2JsonRedisSerializer<Object> jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer<Object>(Object.class);
            StringRedisSerializer redisSerializer = new StringRedisSerializer();
            redisTemplate.setKeySerializer(redisSerializer);
            redisTemplate.setHashKeySerializer(redisSerializer);
            redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
            redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
            return redisTemplate;
        }
    }
    Copier après la connexion

    Ajoutez cette configuration dans le package de configuration

    La fonction de cette classe de configuration est de sérialiser les données à transmettre par le backend à json. S'il n'y a pas une telle configuration, le format. transmis par le backend sera différent de celui du côté redis. Respectez la situation où des caractères tronqués apparaîtront

    4 Injectez RedisTemplate

    Comment lintégration SpringBoot utilise Redis

    Comment lintégration SpringBoot utilise Redis

    Comment lintégration SpringBoot utilise Redis

    Injectez-le là où vous devez l'utiliser. peut l'utiliser

    5. Testez et utilisez

    Comment lintégration SpringBoot utilise Redis

    Exemples d'utilisation :

    (1)

    Comment lintégration SpringBoot utilise Redis

    (2)

    Comment lintégration SpringBoot utilise Redis

    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!

    Étiquettes associées:
    source:yisu.com
    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
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal