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

Comment l'intégration SpringBoot utilise Redis

PHPz
PHPzavant
2023-05-28 12:18:33726parcourir

    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>

    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 # 连接超时时间(毫秒)

    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;
        }
    }

    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!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer