<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd"> <!--集群 哨兵模式--> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig" > <!--最大空闲数--> <property name="maxIdle" value="${redis.max_idle}"/> <!--连接池的最大数据库连接数 --> <property name="maxTotal" value="${redis.max_total}" /> <!--最大建立连接等待时间--> <property name="maxWaitMillis" value="${redis.maxWaitMillis}" /> </bean > <bean id="sentinelConfiguration" class="org.springframework.data.redis.connection.RedisSentinelConfiguration"> <property name="master"> <!--这个值要和Sentinel中指定的master的值一致,不然启动时找不到Sentinel会报错的--> <bean class="org.springframework.data.redis.connection.RedisNode"> <property name="name" value="Usercenter"></property> </bean> </property> <!--记住了,这里是指定Sentinel的IP和端口,不是Master和Slave的--> <property name="sentinels"> <set> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="${redis.sentinel.host}"></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.host}"></constructor-arg> <constructor-arg name="port" value="${redis.sentinel.port2}"></constructor-arg> </bean> <bean class="org.springframework.data.redis.connection.RedisNode"> <constructor-arg name="host" value="${redis.sentinel.host}"></constructor-arg> <constructor-arg name="port" value="${redis.sentinel.port3}"></constructor-arg> </bean> </set> </property> </bean> <!--redis连接工厂 --> <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" destroy-method="destroy"> <property name="poolConfig" ref="jedisPoolConfig"></property> <!--IP地址 --> <property name="hostName" value="${redis.host}"></property> <!--端口号 --> <property name="port" value="${redis.port}"></property> <!--如果Redis设置有密码 --> <property name="password" value="${redis.passpord}" /> <!--客户端超时时间单位是毫秒 --> <property name="timeout" value="${redis.timeout}"></property> </bean> <!--redis操作模版,使用该对象可以操作redis --> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate" > <property name="connectionFactory" ref="jedisConnectionFactory" /> <!--如果不配置Serializer,那么存储的时候缺省使用String,如果用User类型存储,那么会提示错误User can't cast to String!! --> <property name="keySerializer" > <bean class="org.springframework.data.redis.serializer.StringRedisSerializer" /> </property> <property name="valueSerializer" > <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer" /> </property> <property name="hashKeySerializer"> <bean class="org.springframework.data.redis.serializer.StringRedisSerializer"/> </property> <property name="hashValueSerializer"> <bean class="org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer"/> </property> <!--开启事务 --> <property name="enableTransactionSupport" value="true"></property> </bean > </beans>
spring集成redis(集群配置)
最新推荐文章于 2024-07-06 23:22:56 发布