Spring Boot + spring-data-redis

Redis

Redis是緩存, 消息隊列, 多種類型的key-value存儲服務. java

Spring Boot

Spring Boot爲Lettcue和Jedis客戶端提供自動注入配置, 而且經過spring-data-redis提供抽象接口web

配置鏈接Redis服務和接口調用

1. 加入依賴

pom.xml 的依賴集合中加入 org.springframework.boot:spring-boot-starter-data-reids 依賴, 以下配置redis

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!-- 裏面依賴了spring-data-redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    </dependencies>

默認使用 Lettuce 做爲客戶端spring

2. 修改配置文件

在spring boot配置文件中增長redis相關的配置, 以 application.yaml 爲例 (其餘格式配置文件,自行轉換)緩存

spring:
  redis:
    # 其餘配置信息有缺省
    host: localhost
    port: 6379
    timeout: 500
    pool:
      min-idle: 1
      max-idle: 8
      max-active: 8

3. Bean注入使用

如上配置完成以後, Spring Boot 自動注入管理 RedisTemplate. 能夠經過該對象操做Redis.app

按照我以往的簡潔的作法, 我 在RedisTemple 上在封裝成簡潔明瞭的操做. 以下管理ide

RedisManager.javaspring-boot

package info.chiwm.boot.manager;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;

/**
 * @author chiwm@kuyumall.com
 * @ClassName: RedisManager
 * @Description:
 * @date 2018/1/10 下午3:40
 */

@Component
public class RedisManager {

    @Autowired
    private StringRedisTemplate redisTemplate;

    private static RedisManager redisManager;

    @PostConstruct
    public void init() {
        redisManager = this;
    }

    /**
     * Redis Set String Ops
     *
     * @param key
     * @param value
     */
    public static void set(String key, String value) {
        redisManager.redisTemplate.opsForValue().set(key, value);
    }

    /**
     * Redis Get String Ops
     * @param key
     * @return
     */
    public static String get(String key) {
        return redisManager.redisTemplate.opsForValue().get(key);
    }

}

直接調用靜態方法的方式, 方便的調用Redis對應的set key命令. 若是還需其餘存儲類型和操做. 能夠在 RedisManager 上增長靜態方法.this

相關文章
相關標籤/搜索