redis的用戶端實現我選擇的是jedis
spring架構中包含了對redis的支援,其實是一層封裝,使得我們可以使用樣板來簡化代碼,也可以選擇不使用spring提供的樣板,自己在jedis基礎上做封裝
使用spring的項目可以很容易就將redis功能添加進來,作為系統的緩衝
redis服務端是單獨部署的,spring中配置的是redis的用戶端,使得spring項目可以訪問到redis伺服器
首先是包的引入,
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.1.0</version> </dependency>
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.0.2.RELEASE</version> </dependency>
spring的部分配置,不同的jedis版本,參數也發生了變化,尤其需要注意根據不同的版本使用對應的參數命名
<context:property-placeholder location="classpath:redis.properties" /> <context:component-scan base-package="com.x.redis.dao"> </context:component-scan> <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="${redis.maxIdle}" /> <property name="maxActive" value="${redis.maxActive}" /> <property name="maxWait" value="${redis.maxWait}" /> <property name="testOnBorrow" value="${redis.testOnBorrow}" /> </bean> <bean id="connectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:host-name="${redis.host}" p:port="${redis.port}" p:password="${redis.pass}" p:pool-config-ref="poolConfig"/> <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionFactory" ref="connectionFactory" /> </bean>
最後一個bean redisTemplate
通過注入的方式在程式中使用
@Autowiredprotected RedisTemplate<Serializable, Serializable> redisTemplate;