Redis实战之征服 Redis + Jedis + Spring

一、简述

Redis用于集群,并分为服务器段和客户端(jedis),Nginx用于做负载均衡(只需要在两个服务器上更改配置即可实现)

spring把专门的数据操作独立封装在spring-data系列中,spring-data-redis自然是针对Redis的独立封装了。

当前版本1.0.1,主要是将jedisjredisrjc以及srpRedis Client进行了封装,同时支持事务。已经让我垂涎欲滴了。当然,当前版本不支持Sharding。例如,前文曾经通过Jedis通过Client配置,实现一致性哈希,达到Sharding的目的。再一点,如果你早在spring1.x写过SpringJdbc的话,现在会觉得似曾相识。

 

在经过一番思想斗争后,我最终放弃了Jedis原生实现,拥抱spring-data-redis了。为什么?因为,我需要一个有事务机制的框架,一个不需要显式调用对象池操作的框架。这些spring-data-redis都解决了。至于Sharding,当前数据量要求还不大,期待Redis 3.0吧。


二、配置

对象池配置:
<bean
		id="jedisPoolConfig"
		class="redis.clients.jedis.JedisPoolConfig"
	>
		<property
			name="maxActive"
			value="${redis.pool.maxActive}" />
		<property
			name="maxIdle"
			value="${redis.pool.maxIdle}" />
		<property
			name="maxWait"
			value="${redis.pool.maxWait}" />
		<property
			name="testOnBorrow"
			value="${redis.pool.testOnBorrow}" />
	</bean>

工厂实现:
	<bean
		id="jedisConnectionFactory"
		class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
	>
		<property
			name="hostName"
			value="${redis.ip}" />
		<property
			name="port"
			value="${redis.port}" />
		<property
			name="poolConfig"
			ref="jedisPoolConfig" />
	</bean>

模板类:
<bean
		class="org.springframework.data.redis.core.RedisTemplate"
		p:connection-factory-ref="jedisConnectionFactory" />



redis.properties配置如下:

01.#最大分配的对象数  
02.redis.pool.maxActive=1024  
03.#最大能够保持idel状态的对象数  
04.redis.pool.maxIdle=200  
05.#当池内没有返回对象时,最大等待时间  
06.redis.pool.maxWait=1000  
07.#当调用borrow Object方法时,是否进行有效性检查  
08.redis.pool.testOnBorrow=true  
09.  
10.#IP  
11.redis.ip=10.11.20.140  
12.#Port  
13.redis.port=6379  

原文地址:http://blog.csdn.net/it_man/article/details/9730631

你可能感兴趣的:(Redis实战之征服 Redis + Jedis + Spring)