SpringBoot整合Redis示例

一、添加依賴

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

二、連接配置

# Spring配置
spring:
  # Redis服務
  redis:
    host: 127.0.0.1
    port: 6379
    # 數據庫索引
    database: 0
    password: r*****h
    # 超市時間
    timeout: 2000
    lettuce:
      # 連接池
      pool:
        # 最大連接數
        max-active: 8
        # 最大阻塞等待時間(負值無限制)
        max-wait: -1
        # 最大空閒連接
        max-idle: 8
        # 最小空閒連接
        min-idle: 0

三、RedisConfig配置類

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;

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

}

四、新建測試User類

import java.io.Serializable;

public class User implements Serializable {
    private Integer id;
    private String userName;
    private String sex;

    public MyUser(){}
    public MyUser(Integer id, String userName, String sex){
        this.id=id;
        this.userName=userName;
        this.sex=sex;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", userName='" + userName + '\'' +
                ", sex='" + sex + '\'' +
                '}';
    }
}

五、讀取Redis示例

@Controller
@RequestMapping("/test")
public class TestController {
    @Autowired
    private RedisTemplate redisTemplate;

    @PostMapping("/list")
    @ResponseBody
    public String list(){
        MyUser user=new MyUser(1,"Java架構師成神之路","男");
        ValueOperations<String, MyUser> VOpera=redisTemplate.opsForValue();
        VOpera.set("zhangsan",user);
        
        boolean ifExists=redisTemplate.hasKey("zhangsan");
        
        System.out.println("存在Key值:"+ifExists);
        MyUser getUser=(MyUser)redisTemplate.opsForValue().get("zhangsan");
        System.out.println("從redis中獲取到User:"+getUser.toString());
        return null;
    }
}

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章