spring和redis整合集成步骤

本文详细介绍如何将Spring框架与Redis数据库进行整合,包括单机版和集群版的连接池配置及操作示例。提供了使用Jedis进行单机版操作的具体代码,并展示了如何通过Spring管理Redis连接池。

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

spring和redis整合集成步骤

一、准备工作
1、 已经安装好redis服务 (windows 版,linux 版都可以)
2、 依赖jar: jedis-2.9.0.jar 、 commons-pool 2-2.5.0.jar

二、java中操作 (单机版--jedis操作)
/**
	 * @description: 单机版--jedis操作
	 * @param:
	 *
	 * @createDate:2018年3月2日 下午2:13:58
	 */
	// @Test
	public void jedisSingle() throws Exception{
		//1、 创建jedis对象
		Jedis jedis=new Jedis("192.168.1.194", 601, 20);
		jedis.auth("123");
		//2、 获取数据
		String str = jedis.get("name");
		System.out.println(str);
		//3、 关闭资源
		jedis.close();
	}



三、java中操作 (单机版-- 连接池操作)
/**
	 * @description:单机版-- 连接池操作
	 * @param:
	 * @
	 * @createDate:2018年3月2日 下午2:14:47
	 */
	@Test
	public void jedisPool() throws Exception{
		//1、 创建连接池配置对象,并设置相关属性
		JedisPoolConfig jedisPoolConfig=new JedisPoolConfig();
		jedisPoolConfig.setMaxIdle(300);
		jedisPoolConfig.setMaxTotal(10000);
		jedisPoolConfig.setMaxWaitMillis(200);
		//2、 创建连接池对象
		JedisPool jedisPool=new JedisPool(jedisPoolConfig,"192.168.1.194", 601,20,"123");
		//3、 从连接池中获取一个jedis对象
		Jedis jedis = jedisPool.getResource();
		//4、 获取数据
		String str = jedis.get("name");
		System.out.println(str);
		
		//5、 关闭资源 jedis 
		jedis.close();
		//6、 系统服务关闭时,释放连接池资源
		jedisPool.destroy();
	}


四、java中操作 (jedis 集群版操作)
/**
	 * @description: jedis 集群版操作
	 * @param:
	 * @
	 * @createDate:2018年3月2日 下午2:58:10
	 */
	@Test
	public void jedisCluster(){
		//1、 创建 jedisCluster 对象
		Set<redis.clients.jedis.HostAndPort> nodes=new HashSet<>();
		nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6011));
		nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6012));
		nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6013));
		nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6014));
		nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6015));
		nodes.add(new redis.clients.jedis.HostAndPort("192.168.1.194",6016));
		JedisCluster jedisCluster=new JedisCluster(nodes);
		
		//2、 获取数据
		String str = jedisCluster.get("name");
		System.out.println(str);

  //3、关闭资源
  jedisCluster.close();
	}


五、 jedis 和 spring 整合
1、 单机版-- 连接池
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<property name="maxIdle" value="300" /> <!-- 最大能够保持idel状态的对象数  -->
		<property name="maxTotal" value="60000" /> <!-- 最大分配的对象数 -->
		<property name="testOnBorrow" value="true" /> 
	</bean>

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
		<constructor-arg index="0" ref="jedisPoolConfig" />
		<constructor-arg index="1" value="${redis.host}" />
		<constructor-arg index="2" value="${redis.port}" type="int" />
		<constructor-arg index="3" value="${redis.timeout}" type="int"/>
		<constructor-arg index="4" value="${redis.password}"/>
	</bean>



2、集群版
<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> 
		<constructor-arg>
			<set>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.1.194"/>
					<constructor-arg name="port" value="6011"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.1.194"/>
					<constructor-arg name="port" value="6012"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.1.194"/>
					<constructor-arg name="port" value="6013"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.1.194"/>
					<constructor-arg name="port" value="6014"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.1.194"/>
					<constructor-arg name="port" value="6015"/>
				</bean>
				<bean class="redis.clients.jedis.HostAndPort">
					<constructor-arg name="host" value="192.168.1.194"/>
					<constructor-arg name="port" value="6016"/>
				</bean>			
			</set>
		</constructor-arg>
	</bean>


                 spring Cache 使用详解


2018年3月2日 15:33:07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值