上周spring data redis更新了1.7.1版本,正式支持redis cluster集群模式,这里就介绍一下关于redis cluster集群的相关配置,例如redis连接池等内容。不过想要使用redis cluster集群的话,还是需要你先启动redis cluster才行,具体操作可以参考我之前的redis cluster集群搭建。
1、与之前的文章相同,不采用xml,而是使用代码的方式进行配置,首先我们先定义一个redis的配置类:
@Component @EnableConfigurationProperties @ConfigurationProperties(prefix = "spring.redis.cluster") public class RedisClusterConfigProperties { private List<String> nodes; getter/setter... }
在这里,需要你自己先定义一个用来保存redis配置的properties或yml文件,如下:
spring.redis.cluster.nodes[0]=192.168.0.1:6379 spring.redis.cluster.nodes[1]=192.168.0.2:6379 或 spring: redis: cluster: nodes: - 192.168.0.1:6379 - 192.168.0.2:6379
spring会自动读取并将内容set进我们的nodes中,其中,nodes配置多个是为了防止单个节点挂掉,理论上只需要配置一个节点即可。
2、配置redis cluster的bean:
@Configuration public class RedisClusterConfig { @Autowired private RedisClusterConfigProperties clusterProperties; @Bean private RedisConnectionFactory connectionFactory() { private JedisConnectionFactory factory = new JedisConnectionFactory(new RedisClusterConfiguration(clusterProperties.getNodes())) /** 如果需要定制连接池,可以使用下面的方式进行配置 */ // private JedisPoolConfig pool = new JedisPoolConfig(); // pool.setMaxIdle(8) // pool.setMaxTotal(8) // pool.set... // factory.setPoolConfig(pool) return factory; } /** * 对redis的存取,据需要先行转换成byte[] **/ @Bean @Autowired private RedisClusterConnection redisClusterConnection(RedisConnectionFactory connectionFactory) { return connectionFactory.getClusterConnection(); } /** * 该bean可以直接操作String,无需转成byte[] **/ @Bean @Autowired private StringRedisTemplate stringRedisTemplate(RedisConnectionFactory connectionFactory) { return new StringRedisTemplate(connectionFactory); } }
上述总共配置了3个bean,其中,第一个bean为redis cluster的connection factory,后两个为redis客户端操作模板。
在factory中,可以自定义连接池pool,maxIdle与maxTotal分别表示最大空闲连接和总连接,spring默认为我们配置的连接池内,这两项均为8。
后 面的两个bean可以直接用,总的来说能用StringRedisTemplate就用,毕竟减少了很多麻烦的操作,只不过一些api与redis命令行 不一样,需要再稍微看一下,而RedisClusterConnection的api就和redis命令行一样了,但是需要先将你的内容转换成 byte[]才行。
相关推荐
RedisCluster集群(Spring访问Redis),初学者实例源码
在使用代码之前,需要你配置reids集群,在百度上你可以找到
springMVC redis-cluster redis 集群 整合实力,采用的是redis自带的cluster 集群方案,
个人测试redis cluster spring整合代码 的demo
redis-cluster完整项目,下载导入eclipse即可
主要介绍了spring集成redis cluster详解,分享了maven依赖,Spring配置,增加connect-redis.properties 配置文件等相关内容,具有一定参考价值,需要的朋友可以了解下。
spring整合redis(spring模板+连接池+json序列化+cluster集群).zip
项目由maven构建,使用springMVC整合了Redis的集群,发布到tomcat中,访问http://localhost:8080/SpringRedisCluster/redis/hello.do测试即可,前提是配好了redis的集群。
spring整合redis(spring模板+连接池+json序列化+cluster集群)
shiro-redis-cluster spring mvc shiro redis
通过配置文件实现连接单机redis或集群redis demo,实现开发时使用单机redis,线上使用集群redis
RedisCluster + SpringBoot演示案例 本案例所用的Redis是5.0.8所以和旧版的4.0.X不同的地方在于创建集群的方式的变化 所用系统:Centos7.7 64位 本案例设置的统一密码为:shunleite Spring Boot 2.0+ 原文地址:...
主要介绍了Spring-data-redis操作redis cluster的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
扩展spring-data-redis适配redis 认证
SpringBoot整合Redis,包括整合单机版Redis、redis-cluster集群、redis哨兵模式
本源代码提供了redis3.0或者redis3.2如何集群,以及spring-data-redis如何操作集群,并且同时提供了redis单例操作
为了保证WEB应用的承载能力, 需要对WEB应用进行集群处理.这篇文章主要介绍了SpringSession+Redis实现集群会话共享的方法,需要的朋友参考下吧
redis 集群结合spring-dat-redis 的spring整合工程,有单机redis-demo和集群redis-cluster的整合spring的工程包
spring boot实现redis集群
Redis集群集群 使用Docker的Redis集群配置