springboot整合redis

引入依赖

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

yml配置

单机版

1
2
3
4
5
spring:
redis:
host: 127.0.0.1
port: 6379
password: 123456

哨兵模式

1
2
3
4
5
6
7
8
9
spring:
redis:
database: 0
sentinel:
#哨兵名称
master: my-master
#哨兵地址
nodes: 192.168.72.132:27001,192.168.72.132:27002,192.168.72.132:27003
password: 123456

集群模式

1
2
3
4
5
6
spring:
redis:
database: 0
cluster:
nodes: 192.168.72.132:7001,192.168.72.132:7002,192.168.72.132:7003,192.168.72.132:7004,192.168.72.132:7005,192.168.72.132:7006
password: 123456 #集群模式密码都要配置一致

通用配置

1
2
3
4
5
6
7
8
9
spring:
redis:
timeout: 6000ms # 连接超时时长(毫秒)
jedis:
pool:
max-active: 1000 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接

RedisTemplate配置类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package com.example.springboot.common.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.*;
import org.springframework.data.redis.serializer.StringRedisSerializer;

import javax.annotation.Resource;

@Configuration
public class RedisConfig {

@Resource
private RedisConnectionFactory factory;


/**
* 因为项目中只用到了string数据类型,如果有其他数据类型的存储,可以自定义序列化方式
*/
@Bean
public RedisTemplate<String, Object> redisTemplate() {
RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();
//key采用String的序列化方式
redisTemplate.setKeySerializer(new StringRedisSerializer());
//hash的key采用String的序列化方式
redisTemplate.setHashKeySerializer(new StringRedisSerializer());
//hash的value采用String的序列化方式
redisTemplate.setHashValueSerializer(new StringRedisSerializer());
//value采用String的序列化方式
redisTemplate.setValueSerializer(new StringRedisSerializer());
redisTemplate.setConnectionFactory(factory);
redisTemplate.afterPropertiesSet();
return redisTemplate;
}
}

文章目录
  1. 1. 引入依赖
  2. 2. yml配置
    1. 2.1. 单机版
    2. 2.2. 哨兵模式
    3. 2.3. 集群模式
    4. 2.4. 通用配置
  3. 3. RedisTemplate配置类
|