SDR(spring.data.redis)与Sentinel高可用集群Redis客户端Jedis配置
来源:互联网 发布:客机纸模型图纸淘宝 编辑:程序博客网 时间:2024/05/16 18:20
依赖
<dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.3.RELEASE</version> </dependency> <!--sdr--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version> 1.7.2.RELEASE</version> </dependency> <!--jedis--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency>
spring配置(redis.properties文件自行配置)
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:redis.properties</value> </list> </property> </bean> <!-- redis属性配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.pool.maxTotal}" /> <property name="maxIdle" value="${redis.pool.maxIdle}" /> <property name="numTestsPerEvictionRun" value="${redis.pool.numTestsPerEvictionRun}" /> <property name="timeBetweenEvictionRunsMillis" value="${redis.pool.timeBetweenEvictionRunsMillis}" /> <property name="minEvictableIdleTimeMillis" value="${redis.pool.minEvictableIdleTimeMillis}" /> <property name="softMinEvictableIdleTimeMillis" value="${redis.pool.softMinEvictableIdleTimeMillis}" /> <property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}" /> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> </bean> <!-- redis集群配置 哨兵架构 --> <bean id="redisSentinelConfiguration" class="org.springframework.data.redis.connection.RedisSentinelConfiguration"> <property name="master"> <bean class="org.springframework.data.redis.connection.RedisNode"> <!--这个值要和Sentinel中指定的master的值一致,不然启动时找不到Sentinel会报错的--> <property name="name" value="${redis.master.name}"></property> </bean> </property> <!--记住了,这里是指定Sentinel的IP和端口--> <property name="sentinels"> <set> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="${redis.sentinel.host1}"></constructor-arg> <constructor-arg name="port" value="${redis.sentinel.port1}"></constructor-arg> </bean> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="${redis.sentinel.host2}"></constructor-arg> <constructor-arg name="port" value="${redis.sentinel.port2}"></constructor-arg> </bean> </set> </property> </bean> <!--redis连接工厂--> <bean id="redisConnectionFactory" class="org.springframework.data.redis.connection.jedis.RedisConnectionFactory"> <constructor-arg name="sentinelConfig" ref="redisSentinelConfiguration"></constructor-arg> <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg> </bean> <!--redis模板--> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"> <property name="connectionFactory" ref="redisConnectionFactory"></property> </bean>
Test
JedisSentinel集群测试
JedisSentinel集群测试
/** * Author: Starry.Teng * Email: tengxing7452@163.com * Date: 17-8-14 * Time: 下午8:26 * Describe: Spring Jedis Sentinel 测试 */@RunWith(SpringRunner.class)@ContextConfiguration(locations = {"classpath:sentinel.xml"})public class SDRJedisSentinelTest { @Test public void sentinel(){ System.out.print("SpringJedisSentinel集群客户端测试成果"); }}
运行打印:
八月 15, 2017 6:59:25 下午 redis.clients.jedis.JedisSentinelPool initSentinels信息: Trying to find master from available Sentinels...八月 15, 2017 6:59:25 下午 redis.clients.jedis.JedisSentinelPool initSentinels信息: Redis master running at 127.0.0.1:8001, starting Sentinel listeners...八月 15, 2017 6:59:25 下午 redis.clients.jedis.JedisSentinelPool initPool信息: Created JedisPool to master at 127.0.0.1:8001SpringJedisSentinel集群客户端测试成果
tips:
- 启动前应该保证redis集群服务器开启
- 配合属性文件要正确
master-name必须与redis-sentinel中指定的一致
笔者的redis.properties配置(仅供产考)github
阅读全文
0 0
- SDR(spring.data.redis)与Sentinel高可用集群Redis客户端Jedis配置
- Redis Sentinel高可用集群Java客户端
- redis高可用之sentinel哨兵集群详解与搭建
- Redis 高可用集群管理工具Sentinel
- Redis高可用集群Sentinel哨兵
- redis高可用方案Sentinel配置
- Redis sentinel 高可用主从配置方案
- 基于keepalived、redis sentinel的高可用redis集群
- redis主从复制与sentinel高可用
- jedis(redis)整合spring,包括jedis客户端单机版,jedis集群版配置 ,连接池配置
- 12、Spring技术栈-Redis Sentinel实现高可用缓存集群方案实战
- Redis Sentinel主从高可用方案(附Jedis Sentinel教程)
- Redis Sentinel主从高可用方案(附Jedis Sentinel教程)
- Redis Sentinel主从高可用
- redis高可用sentinel原理
- CentOS 7.3 Sentinel实现Redis集群高可用部署
- 基于Sentinel(哨兵)搭建实现Redis高可用集群
- 基于docker的sentinel的高可用Redis集群
- 【代码笔记】iOS-对数组进行排序
- 50. Pow(x, n)
- 取出List集合中每条记录的指定值
- 年度最佳负能量的50句, 看完让你彻底怀疑人生!
- python中的StringIO和 ByteIO
- SDR(spring.data.redis)与Sentinel高可用集群Redis客户端Jedis配置
- 带缓存的输入/输出流
- iOS-属性字符串NSAttributedString
- 【龙芯1c库】移植硬浮点FPU
- 适配器模式
- jQuery语法
- spark 中map 和flatmap 的区别
- java报错:找不到或无法加载主类
- prim 堆优化