Redis多集群客户端

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
pool2:

nodes: 10.101.30.19:11117,10.101.39.149:11117,10.101.29.23:11117

timeout: 20000

maxIdle: 300

maxWaitMillis: 1000

maxTotal: 1000

minEvictableIdleTimeMillis: 300000

三、配置类


@Data

public class RedisClusterPoolProperties {

private List nodes;

private int timeout;

private int maxIdle;

private long maxWaitMillis;

private int maxTotal;

private long minEvictableIdleTimeMillis;

}

@Configuration

@Slf4j

@ConfigurationProperties(prefix = “spring.redis.cluster.pool1”)

public class UserProfileRedisConfig extends RedisClusterPoolProperties {

@Bean(name = “userProfileRedisConnectionFactory”)

@Primary

public RedisConnectionFactory connectionFactory() {

log.info(“初始化UserProfile集群开始”);

JedisConnectionFactory factory = new JedisConnectionFactory(new RedisClusterConfiguration(this.getNodes()));

JedisPoolConfig config = (JedisPoolConfig) factory.getPoolConfig();

config.setMaxIdle(this.getMaxIdle());

config.setMaxWaitMillis(this.getMaxWaitMillis());

config.setMaxTotal(this.getMaxTotal());

config.setMinEvictableIdleTimeMillis(this.getMinEvictableIdleTimeMillis());

log.info(“初始化UserProfile集群结束”);

return factory;

}

}

另一个spring.redis.cluster.pool2 类似

@Configuration

public class MultiRedisClusterConfig {

@Resource(name = “userProfileRedisConnectionFactory”)

private RedisConnectionFactory userProfileRedisConnectionFactory;

@Resource(name = “dataStreamRedisConnectionFactory”)

private RedisConnectionFactory dataStreamRedisConnectionFactory;

@Bean(name = “userProfileRedisTemplate”)

@Primary

public RedisTemplate<Object, Object> userProfileRedisTemplate() {

return getRedisTemplate(userProfileRedisConnectionFactory);

}

@Bean(name = “userProfileStringRedisTemplate”)

@Primary

public StringRedisTemplate userProfileStringRedisTemplate() {

return getStringRedisTemplate(userProfileRedisConnectionFactory);

}

@Bean(name = “dataStreamRedisTemplate”)

public RedisTemplate<Object, Object> dataStreamRedisTemplate() {

return getRedisTemplate(dataStreamRedisConnectionFactory);

}

@Bean(name = “dataStreamStringRedisTemplate”)

public StringRedisTemplate dataStreamStringRedisTemplate() {

return getStringRedisTemplate(dataStreamRedisConnectionFactory);

}

private RedisTemplate<Object,Object> getRedisTemplate(RedisConnectionFactory connectionFactory){

RedisTemplate<Object,Object> template = new RedisTemplate<Object, Object>();

template.setConnectionFactory(connectionFactory);

setSerializer(template);

template.afterPropertiesSet();

return template;

}

private StringRedisTemplate getStringRedisTemplate(RedisConnectionFactory connectionFactory){

StringRedisTemplate template = new StringRedisTemplate();

template.setConnectionFactory(connectionFactory);

setStringSerializer(template);

template.afterPropertiesSet();

return template;

}

private void setStringSerializer(StringRedisTemplate template){

RedisSerializer stringSerializer = new StringRedisSerializer();

template.setKeySerializer(stringSerializer);

template.setValueSerializer(stringSerializer);

template.setHashKeySerializer(stringSerializer );

template.setHashValueSerializer(stringSerializer );

template.afterPropertiesSet();

}

private void setSerializer(RedisTemplate<Object, Object> template) {

Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);

ObjectMapper om = new ObjectMapper();

om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);

om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);

jackson2JsonRedisSerializer.setObjectMapper(om);

template.setKeySerializer(jackson2JsonRedisSerializer);

难道这样就够了吗?不,远远不够!

提前多熟悉阿里往年的面试题肯定是对面试有很大的帮助的,但是作为技术性职业,手里有实打实的技术才是你面对面试官最有用的利器,这是从内在散发出来的自信。

备战阿里时我花的最多的时间就是在学习技术上,占了我所有学习计划中的百分之70,这是一些我学习期间觉得还是很不错的一些学习笔记

我为什么要写这篇文章呢,其实我觉得学习是不能停下脚步的,在网络上和大家一起分享,一起讨论,不单单可以遇到更多一样的人,还可以扩大自己的眼界,学习到更多的技术,我还会在csdn、博客、掘金等网站上分享技术,这也是一种学习的方法。

今天就分享到这里了,谢谢大家的关注,以后会分享更多的干货给大家!

阿里一面就落马,恶补完这份“阿里面试宝典”后,上岸蚂蚁金服

阿里一面就落马,恶补完这份“阿里面试宝典”后,上岸蚂蚁金服

image.png

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
到这里了,谢谢大家的关注,以后会分享更多的干货给大家!

[外链图片转存中…(img-3l0eSUUu-1714649550181)]

[外链图片转存中…(img-AH6BRasU-1714649550181)]

[外链图片转存中…(img-2RmAPbdw-1714649550182)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 21
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值