spring整合redis

本文详细介绍了在实际工作中如何将Spring与Redis集群整合,重点讨论了如何使用jediscluster进行操作,并提供了具体的Spring配置文件示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中不免使用redis。本文介绍spring整合redis集群。使用jediscluster操作redis集群。

1.首先看一段jediscluster的一段源码

public JedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeout, int soTimeout,
                      int maxAttempts, String password, final GenericObjectPoolConfig poolConfig) {
    super(jedisClusterNode, connectionTimeout, soTimeout, maxAttempts, password, poolConfig);
  }

注意如果你的操作redis的jedis版本太低。则没有这个构造方法。可以上级到2.9.0;因为公司搭建的是带密码的redis集群。所以使用这个构造方法。

spring中如何管理这个类呢?直接上配置文件。

<!-- redis节点配置 -->
	<bean id="node1" class=" redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="${redis.node1.host}"></constructor-arg>
		<constructor-arg name="port" value="${redis.node1.port}"></constructor-arg>
	</bean>	
	<bean id="node2" class=" redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="${redis.node2.host}"></constructor-arg>
		<constructor-arg name="port" value="${redis.node2.port}"></constructor-arg>
	</bean>	
	<bean id="node3" class=" redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="${redis.node3.host}"></constructor-arg>
		<constructor-arg name="port" value="${redis.node3.port}"></constructor-arg>
	</bean>	
	<bean id="node4" class=" redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="${redis.node4.host}"></constructor-arg>
		<constructor-arg name="port" value="${redis.node4.port}"></constructor-arg>
	</bean>	
	<bean id="node5" class=" redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="${redis.node5.host}"></constructor-arg>
		<constructor-arg name="port" value="${redis.node5.port}"></constructor-arg>
	</bean>	
	<bean id="node6" class=" redis.clients.jedis.HostAndPort">
		<constructor-arg name="host" value="${redis.node6.host}"></constructor-arg>
		<constructor-arg name="port" value="${redis.node6.port}"></constructor-arg>
	</bean>	
	<bean id="poolConfig" class=" org.apache.commons.pool2.impl.GenericObjectPoolConfig">
		<property name="maxTotal" value="1000"></property>
		<property name="maxIdle" value="50"></property>
		<property name="minIdle" value="10"></property>
	</bean>
	
	<!-- 注入到redisCluster -->
	<bean id="redisCluster" class="redis.clients.jedis.JedisCluster">
		<constructor-arg name="jedisClusterNode">
			<set>
				<ref bean="node1"/>
				<ref bean="node2"/>
				<ref bean="node3"/>
				<ref bean="node4"/>
				<ref bean="node5"/>
				<ref bean="node6"/>
			</set>
		</constructor-arg>
		<constructor-arg name="connectionTimeout" value="12000000"></constructor-arg>
		<constructor-arg name="soTimeout" value="120000"></constructor-arg>
		<constructor-arg name="maxAttempts" value="120000"></constructor-arg>
		<constructor-arg name="password" value="*****"></constructor-arg>
		<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>
	</bean>
OK了。spring配置完了。如何使用呢?就更简单了。在使用redis的类中。直接注入这个属性就可以了。

如下:

//获取redis集群操作对象
	@Autowired
	private JedisCluster jedisCluster;
接着,你就可以测试者玩了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值