springboot整合rediscluster集群
pom依赖
<!--redis连接池 start-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
<!--redis连接池 end-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
yml文件配置 这里放个照片看一眼格式别写错 记着按自己的填写别照搬 再来个代码直接粘贴哦
spring:
application:
name: member-server
redis:
database: 0
#单机版
# host: 127.0.0.1
# port: 6379
# password: 123456
# pool:
# max-idle: 100
# min-idle: 1
# max-active: 1000
# max-wait: -1
#集群版
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0
timeout: 10000
cluster:
nodes:
- 192.168.100.131:6001
- 192.168.100.131:6002
- 192.168.100.131:6003
- 192.168.100.131:6004
- 192.168.100.131:6005
- 192.168.100.131:6006
以上做完做对就可以避免move和must null等错误
之后要对key和value进行序列化 以免客户端找不到 或key的值改变
@Configuration
@EnableCaching
public class RedisConfig {
@Autowired
RedisConnectionFactory connectionFactory;
@Bean(name = "redisTemplate")
public RedisTemplate<Object, Object> initRedisTemplate() {
RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();
//RedisTemplate会自动初始化StringRedisSerializer,所以这里直接取
final RedisSerializer<String> stringSerializer = redisTemplate.getStringSerializer();
//设置字符串序列化器,这样spring就会吧redis的key当做字符串来处理了
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
redisTemplate.setHashValueSerializer(stringSerializer);
redisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
}
}
ok啦