Redis(一) Java之SpringBoot集成Redis

1.創建一個maven項目導入jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.ccl.coding.sso</groupId>
    <artifactId>ccl-coding-sso</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.4.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-redis</artifactId>
            <version>1.4.7.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.16.20</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

</project>

2.修改配置文件

spring:
  application:
    name: ccl-coding
  redis:
    host: localhost 
    port: 6379
    password: 123456

3.創建響應的類

package com.ccl.coding.sso.domain;

import lombok.Data;

@Data
public class ApiResponse<T> {

    private Integer code;
    private String message;
    private T data;


    public static ApiResponse build() {
        return new ApiResponse();
    }

    public ApiResponse success() {
        return this;
    }

    public ApiResponse success(T obj) {
        this.data = obj;
        return this;
    }


    public ApiResponse error(int code, String message) {
        this.code = code;
        this.message = message;
        return this;
    }


}

4.測試redis

package com.ccl.coding.sso.redis;

import com.ccl.coding.sso.domain.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;

/**
 * @author CHANG
 * @date 2019/7/27 22:50
 */
@RestController
@RequestMapping(value = "redis")
public class redisTest {

    @Autowired
    private RedisTemplate redisTemplate;

    private static final String REDIS_TEST = "REDIS_TEST";

    /**
     * 設置值 key和value
     *
     * @param key   鍵
     * @param value 值
     * @return ApiResponse
     */
    @GetMapping("setRedis")
    public ApiResponse setRedisTemplate(@RequestParam String key, @RequestParam String value) {
        Map<String, String> str = new HashMap<>();
        str.put(key, value);
        redisTemplate.opsForHash().putAll(REDIS_TEST, str);
        Boolean redisTest = redisTemplate.expire(REDIS_TEST, 1000 * 10, TimeUnit.SECONDS);
        if (redisTest) {
            return ApiResponse.build().success(true);

        }
        return ApiResponse.build().success(false);
    }

    /**
     * 通過鍵獲取值
     *
     * @param key 鍵
     * @return
     */
    @GetMapping("getRedis")
    public ApiResponse getRedisTemplate(@RequestParam String key) {
        String value = (String) redisTemplate.opsForHash().get(REDIS_TEST, key);
        return ApiResponse.build().success(value);
    }
}

設置值鍵和值

獲取鍵中設置的值

 

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