Redis 是目前业界使用最广泛的内存数据存储。相比 Memcached,Redis 支持更丰富的数据结构,例如 hashes, lists, sets ,sortedsets等。数据库有分库分表,当然redis也能实现mysql一样的分库逻辑。本文介绍 Redis 在 Spring Boot 中分库的应用场景。
1、引入依赖包
<!-- 引入 redis 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 引入 Lettuce池 依赖 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!-- 引入 fastjson 依赖,序列化使用的是fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.44</version>
</dependency>
SpringBoot 提供了对 Redis 集成的组件包:spring-boot-starter-data-redis,spring-boot-starter-data-redis依赖于spring-data-redis 和 lettuce 。lettuce使用netty NIO来管理连接对象的,十分高效且线程安全,多个线程可共享一个connection对象。
SpringBoot2.0升级了redis池,从jedis升级到了lettuce,而且用户可无感知的切换到lettuce。
2.添加配置文件
两种添加配置文件的方式,一种是application.properties,另一种是application.yml。读者选择一种即可。
application.properties
#redis db1
spring.redis.redis-onedb.database=1
spring.redis.redis-onedb.hostName=localhost
spring.redis.redis-onedb.port=6379
spring.redis.redis-onedb.timeout=5000
#redis db2
spring.redis.redis-twodb.database=2
spring.redis.redi