spring中集成使用jedis(1)

来源:互联网 发布:淘宝转运服务 编辑:程序博客网 时间:2024/05/01 06:27

本文主要说明在项目中通过spring集成jedis的使用方法。

首先,在jedis的连接配置中,出于性能考虑选择连接池形式。
jedis中的连接池类为

redis.clients.jedis.JedisPool
其中包含多个构造器,可根据需要自行选取,这里选择较为基础形式:

public JedisPool(final GenericObjectPoolConfig poolConfig,    final String host, final int port) {this(poolConfig, host, port, Protocol.DEFAULT_TIMEOUT, null,Protocol.DEFAULT_DATABASE, null);    }
spring中配置如下:

<!-- 连接池配置形式、端口为默认:6379 --><bean id="redisPool" class="redis.clients.jedis.JedisPool"singleton="true" lazy-init="true"><!-- 连接池配置 --><constructor-arg index="0"><ref bean="poolConfig" /></constructor-arg><!-- host --><constructor-arg index="1" value="127.0.0.1" /><!-- port --><constructor-arg index="2" value="6379" type="int" /></bean>
其中涉及到连接池配置poolconfig,jedis的连接池配置主要基于commons-pool2-2.0,涉及类为

org.apache.commons.pool2.impl.GenericObjectPoolConfig
包含maxTotal、maxIdle、minIdle、maxWaitMillis属性,可通过spring配置如下:

<!-- 连接池设置 --><bean id="poolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig"><property name="maxTotal" value="8" /><property name="maxIdle" value="8" /><property name="minIdle" value="0" /><property name="maxWaitMillis" value="-1" /></bean>

至此,便可以方便的将连接池作为属性注入到对应的redis服务封装对象中,如:

<!-- redis服务 --><bean id="redisService"class="com.service.imp.RedisService"lazy-init="true"><property name="jedisPool"><ref local="redisPool" /></property></bean>

然后就可以直接通过连接池获取jedis,方便快捷的操作redis了。


后续会添加master/salve配置方式,敬请期待。。。


0 0
原创粉丝点击