1.简介
Spring Data Redis是对redis客户端(如jedis)的高度封装,支持多种客户端,因其高抽象,所以在某一个客户端不支持更新的时候可以容易切换到其他客户端.
本文是在Spring boot 1.5.2版本下测试.
需要引入架包
org.springframework.boot spring-boot-starter-parent 1.5.2.RELEASEUTF-81.8org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-data-redis org.springframework.boot spring-boot-starter-test test
2.配置
在Spring Boot下默认使用jedis作为客户端,并在包org.springframework.boot.autoconfigure.data.redis下,提供自动配置类RedisProperties,RedisAutoConfiguration等.
根据RedisProperties可以定位到可配置的属性,如:
# Redis数据库索引(默认为0)spring.redis.database=0# Redis服务器地址spring.redis.host=115.159.185.14# 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=2000
在application.properties中配置即可,另外还有Sentinel和Cluster说明支持分布式和集群,博主研究不多就不瞎说这个了.
自动配置主要在RedisAutoConfiguration中,该类会提供三个bean:
- JedisConnectionFactory : jedis连接控制工厂
- RedisTemplate : redis操作入口
- StringRedisTemplate : redis操作入口
那么就开始入口学习.
3.RedisTemplate
RedisTemplate是操作的入口.该类继承了RedisAccessor,可以通过其拿到redis连接,实现了RedisOperations接口,获得了操作redis的能力,如下图所示: