引入依赖
Spring Boot提供的数据访问框架Spring Data Redis基于Jedis。可以通过引入spring-boot-starter-redis
来配置依赖关系。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
</dependency>
参数配置
按照惯例在application.properties
中加入Redis服务端的相关配置,具体说明如下:
# REDIS (RedisProperties)
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.pool.max-wait=-1
# 连接池中的最大空闲连接
spring.redis.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.pool.min-idle=0
# 连接超时时间(毫秒)
spring.redis.timeout=0
其中spring.redis.database的配置通常使用0即可,Redis在配置的时候可以设置数据库数量,默认为16,可以理解为数据库的schema
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(Application.class)
public class ApplicationTests {
@Autowired
private StringRedisTemplate stringRedisTemplate;
@Test
public void test() throws Exception {
// 保存字符串
stringRedisTemplate.opsForValue().set("name", "hello World!");
}
}
参考redisService工具类
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import java.util.Set;
/** * Created by qin on 2016/11/15. */ @Service
public class RedisService {
@Autowired
private RedisTemplate redisTemplate;
// @Autowired
// private StringRedisTemplate stringRedisTemplate;
/** * 保存元素对象进入缓存 * * @param key 存储的Key键 * @param value 存储的Value值 */ public void save (String key, String value) {
redisTemplate.opsForValue().set(key, value);
}
/** * 删除元素对象从缓存中 * * @param key 删除的Key键 * @return */ public void delete (String key) {
redisTemplate.delete(key);
}
/** * 获得Key对应的值 * * @param key */ public <V> V query (String key) {
return (V)redisTemplate.opsForValue().get(key);
}
public <T> Set<T> getKeys (String pattern) {
return redisTemplate.keys(pattern);
}
public RedisTemplate getRedisTemplate() {
return redisTemplate;
}
public void setRedisTemplate(RedisTemplate redisTemplate) {
this.redisTemplate = redisTemplate;
}
}