Spring Boot + spring-data-redis

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot + spring-data-redis相关的知识,希望对你有一定的参考价值。

Redis

Redis是缓存, 消息队列, 多种类型的key-value存储服务.

Spring Boot

Spring Boot为Lettcue和Jedis客户端提供自动注入配置, 并且通过spring-data-redis提供抽象接口

配置连接Redis服务和接口调用

1. 加入依赖

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

    <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 作为客户端

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.

按照我以往的简洁的做法, 我 在RedisTemple 上在封装成简洁明了的操作. 如下管理

RedisManager.java

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 [email protected]
 * @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 上增加静态方法.

以上是关于Spring Boot + spring-data-redis的主要内容,如果未能解决你的问题,请参考以下文章

Spring-Boot,无法使用 spring-data JPA 在 MySql 中保存 unicode 字符串

Spring-Boot,无法使用spring-data JPA在MySql中保存unicode字符串

springboot检索之整合elasticsearch并使用spring-data操作

使用 Spring-Data 配置 MongoDb 时出现异常

使用 spring-data solr 嵌套文档

spring boot 2.0 neo4j 使用