Home>Article>Database> How SpringBoot integration uses Redis

How SpringBoot integration uses Redis

PHPz
PHPz forward
2023-05-28 12:18:33 643browse

    SpringBoot integrates using redis

    Jedis is a Java-oriented client officially launched by Redis, which provides many interfaces for Java language calls. It can be downloaded from the Redis official website. Spring-data-redis is part of the spring family. It provides access to the redis service through simple configuration in the srping application, and highly encapsulates the reids underlying development package (Jedis, JRedis, and RJC). RedisTemplate provides various redis operations

    spring-data-redis provides the following functions for jedis:

    1. The connection pool automatically manages and provides a highly encapsulated "RedisTemplate "Class.

    2. Classifies and encapsulates a large number of APIs in the jedis client, and encapsulates the same type of operations into operation interfaces.

    ValueOperations : Simple K-V operation

    SetOperations: set type data operation

    ZSetOperations: zset type data operation

    HashOperations: for map type data operation

    ListOperations: For list type data operations

    3. Encapsulate transaction operations and have container control.

    4. A variety of optional strategies (RedisSerializer) are provided for the "serialization/deserialization" of data

    JdkSerializationRedisSerializer: access scenarios for POJO objects, using JDK itself for serialization Mechanism.

    StringRedisSerializer: When the Key or value is a string, the byte sequence of the data is encoded into a string according to the specified charset, which is "new String(bytes, charset)" and "string.getBytes(charset) )" direct encapsulation. is the most lightweight and efficient strategy.

    JacksonJsonRedisSerializer: The jackson-json tool provides conversion capabilities between javabean and json. It can serialize pojo instances into json format and store them in redis, and can also convert json format data into pojo instances.

    Build

    1. Import the jar package

    How SpringBoot integration uses Redis

     org.springframework.boot spring-boot-starter-data-redis 

    How SpringBoot integration uses Redis

    2. Configure the connection redis

    How SpringBoot integration uses Redis

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

    Add the above configuration under spring in the application.yml file

    3. Add the configuration class RedisConfig

    How SpringBoot integration uses 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 redisTemplate(RedisConnectionFactory connectionFactory) { RedisTemplate redisTemplate = new RedisTemplate<>(); redisTemplate.setConnectionFactory(connectionFactory); Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class); StringRedisSerializer redisSerializer = new StringRedisSerializer(); redisTemplate.setKeySerializer(redisSerializer); redisTemplate.setHashKeySerializer(redisSerializer); redisTemplate.setValueSerializer(jackson2JsonRedisSerializer); redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer); return redisTemplate; } }
          

    Add this configuration in the configuration package

    The function of this configuration class is to serialize the data to be passed by the backend to json. If there is no such configuration, the backend If the passed format does not match the redis side, garbled characters will appear

    4. Inject RedisTemplate

    How SpringBoot integration uses Redis

    How SpringBoot integration uses Redis

    How SpringBoot integration uses Redis

    Inject it where you need to use it and you can use it

    5. Test and use

    How SpringBoot integration uses Redis

    Usage examples:

    (1)

    How SpringBoot integration uses Redis

    (2)

    How SpringBoot integration uses Redis

    The above is the detailed content of How SpringBoot integration uses Redis. For more information, please follow other related articles on the PHP Chinese website!

    Statement:
    This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete