一、先加入关于Redis的依赖
Spring Boot也会为其提供stater,然后允许我们通过配置文件application.properties进行配置。
对映的Maven中依赖:
引入spring-boot-starter-data-redis
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<exclusions>
<!--不依赖Redis的异步客户端lettuce-->
<exclusion>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--引入Redis的客户端驱动jedis-->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
spring-boot-starter-data-redis中主要是引入spring-data-redis项目对Redis开发进行支持的。
默认的情况下,spring-boot-starter-data-redis(版本2.x)会依赖Lettuce的Redis客户端驱动,
而在一般的项目中,我们会使用Jedis,所以在代码中使用了<exclusions>
元素将其依赖排除了,与此同时引入了Jedis的依赖,这样就可以使用Jedis进行编程了。
Redis是一种键值数据库,以字符串类型为中心的,能够支持多种数据类型,包括字符串、散列、列表(链表)、集合、有序集合、基数和地理位置等。
二、spring-data-redis项目的设计
在Java中与Redis连接的驱动存在很多种,目前比较广泛使用的是Jedis。
Spring提供了一个RedisConnectionFactory接口,通过它可以生成一个RedisConnection接口对象,而RedisConnection接口对象是对Redis底层接口的封装。
例如,本章使用的Jedis驱动,那么Spring就会提供RedisConnection接口的实现类JedisConnection去封装原有的Jedis(redis.clients.jedis.Jedis)对象。
在Spring中是通过RedisConnection接口操作Redis的,而RedisConnection则对原生的Jedis进行封装。要获取RedisConnection接口对象,可以通过RedisConnectionFactory接口去生成,所以第一步要配置的便是这个工厂了,配置这个工厂主要是配置Redis的连接池,对于连接池可以限定其最大连接数、超时时间等属性。下面开发一个简单的RedisConnectionFactory接口对象。
创建RedisConnectionFactory对象
@Configuration
public class RedisConfig {
private RedisConnectionFactory connectionFactory = null;
@Bean(name = "RedisConnectionFactory")
public RedisConnectionFactory initRedisConnectionFactory() {
if (this.connecti