spring-redis对redis的五种数据类型是支持的。这个几个数据操作对象在demo的RedisConfig类中配置了,具体可前去查看代码。本文最重要的点是Object的序列化,下文会着重分析。
-
HashOperations:对hash类型的数据操作
-
ValueOperations:对redis字符串类型数据操作
-
ListOperations:对链表类型的数据操作
-
SetOperations:对无序集合类型的数据操作
-
ZSetOperations:对有序集合类型的数据操作
配置pom依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 引入 redis 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.44</version>
</dependency>
</dependencies>
redis配置信息application.properties
前面是redis服务器的ip,端口等参数信息。后面的是lettuce连接池的配置参数。
#redis db
spring.redis.redis-onedb.database=0
spring.redis.redis-onedb.hostName=localhost
spring.redis.redis-onedb.port=6379
spring.redis.redis-onedb.timeout=5000
spring.redis.lettuce.pool.MaxTotal=50
spring.redis.lettuce.pool.minIdle=1
spring.redis.lettuce.pool.maxWaitMillis=5000
spring.redis.lettuce.pool.maxIdle=5
spring.redis.lettuce.pool.testOnBorrow=true
spring.redis.lettuce.pool.testOnReturn=true
spring.redis.lettuce.pool.testWhileIdle=true
配置类RedisTemplateConfig
配置类中的bean包括:lettuce连接池参数对象GenericObjectPoolConfig,单例redis配置参数对象RedisStandaloneConfiguration,连接对象工厂LettuceConnectionFactory,以及redisTemplate。
GenericObjectPoolConfig:连接池参数配置类,SpringBoot升级到2.0后就不再使用jedis连接池。默认选择的是lettuce。
RedisStandaloneConfiguration:redis单例服务器的参数配置类。
LettuceConnectionFactory:redis连接对象创建工厂。
RedisTemplate:SpringBoot用来封装Redis所有数据类型的操作,供业务程序调用。
@Configuration
public class RedisTemplateConfig {
@Bean