Redis: (2) SpringBoot integrates Redis (stand-alone)

1. Introduce maven coordinates

 <!--redis-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

       <!-- lettuce pool 连接池-->
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>

2. Add Redis configuration information (application.properties)

# redis数据库索引(默认为0
spring.redis.database=0
# redis服务器地址
spring.redis.host=localhost
# redis服务器连接端口
spring.redis.port=6379
# redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(负值表示无限制,默认为8
spring.redis.lettuce.pool.max-active=8
# 连接池最大阻塞等待时间(负值表示无限制,默认为-1
spring.redis.lettuce.pool.max-wait=-1
# 连接池最大空闲连接 默认为8
spring.redis.lettuce.pool.max-idle=8
# 连接池最小空闲连接 默认为0
spring.redis.lettuce.pool.min-idle=0

3. Configuration class RedisConfig

package com.redistest.conf;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;

import java.io.Serializable;

/**
 * 描述:
 * 配置类
 *
 * @author XueGuCheng
 * @create 2020-08-15 23:47
 */
@Configuration
public class RedisConfig {
    
    

    @Bean
    public RedisTemplate<String, Serializable> redisTemplate(LettuceConnectionFactory connectionFactory){
    
    
        RedisTemplate<String, Serializable> redisTemplate = new RedisTemplate<>();
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());
        redisTemplate.setConnectionFactory(connectionFactory);
        return redisTemplate;
    }

}

4. Add the tool class RedisUtils

This step has been omitted and does not affect the simple test.

5. Testing

Check whether the Redis server has been started before testing

package com.redistest.demo;

import com.redistest.vo.User;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * 描述:
 * 测试
 *
 * @author XueGuCheng
 * @create 2020-08-16 0:26
 */
@RunWith(SpringRunner.class)
@SpringBootTest
public class test {
    
    

    @Autowired
    private RedisTemplate redisTemplate;

    @Test
    public void test01(){
    
    
        User user = new User(1, "zhangsan", "nan");
        ValueOperations operations = redisTemplate.opsForValue();
        operations.set("jbp001",user);
        Boolean flag = redisTemplate.hasKey("jbp001");
        User getUser = (User) redisTemplate.opsForValue().get("jbp001");
        System.out.println(flag);
        System.out.println(getUser.toString());
    }

}

Guess you like

Origin blog.csdn.net/xueguchen/article/details/108036970