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操作