Redis客户端——Jedis使用

来源:互联网 发布:南京连天美正规吗 知乎 编辑:程序博客网 时间:2024/05/29 02:00

本文介绍Redis官方推荐的Java客户端Jedis,结合Spring配置Redis连接池,访问Redis集群服务。


一、部署Redis服务

Redis集群服务的配置,请参加之前的文章《Redis主从配置》。


二、在项目中添加Jedis客户端

1、Jedis-2.4.2

Jedis其它版本请访问https://github.com/xetorthio/jedis

Redis其它客户端请访问http://redis.io/clients

2、Apache Common Pool2

Jedis-2.4.2依赖commons-pool2

项目中若使用Maven管理,添加以下依赖:

<dependency>  <groupId>org.apache.commons</groupId>  <artifactId>commons-pool2</artifactId>  <version>2.0</version>  <type>jar</type>  <scope>compile</scope></dependency><dependency>  <groupId>redis.clients</groupId>  <artifactId>jedis</artifactId>  <version>2.4.2</version>  <type>jar</type>  <scope>compile</scope></dependency>


三、Spring配置

<!-- redis连接池配置项 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">  <property name="maxTotal" value="1024" />          <property name="maxIdle" value="200" />          <property name="maxWaitMillis" value="1000" />          <property name="testOnBorrow" value="true" />  </bean><!-- redis pool for write --><bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">   <constructor-arg index="0″ ref="jedisPoolConfig" />     <constructor-arg index="1″ ref="192.168.242.128" />   <constructor-arg index="2″ ref="6379" />   <!-- timeout -->   <constructor-arg index="3″ ref="1000" /></bean><!-- redis pool for read --><bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool">   <constructor-arg index="0″ ref="jedisPoolConfig" />   <constructor-arg index="1″><list>     <!-- redis master -->           <bean class="redis.clients.jedis.JedisShardInfo">               <constructor-arg index="0″ value="192.168.242.128" />               <constructor-arg index="1″ value="6379" type="int" />           </bean>     <!-- redis slaver -->             <bean class="redis.clients.jedis.JedisShardInfo">               <constructor-arg index="0″ value="192.168.242.129" />               <constructor-arg index="1″ value="6379" type="int" />           </bean> </list>     </constructor-arg>  </bean>

四、测试代码

@Controller@RequestMapping("/test.do")public class TestController{@Autowiredprivate JedisPool jedisPool;//写操作连接池@Autowiredprivate ShardedJedisPool shardedJedisPool;//读操作连接池@Requestmapping(params="method=test", method=RequestMethod.GET)public String test(String value, ModelMap model){Jedis jedisWriter = jedisPool.getResouce();ShardedJedis jedisReader = shardedJedisPool;.getResouce();String key = "info";jedisWriter.set(key, value);//向redis服务器写入值String info = jedisReader.get(key);//从redis集群服务读取值jedisPool.returnResource(jedisWriter);//释放资源shardedJedisPool.returnResource(jedisReader);model.addAttribute("info", info);return "/notice";}}
浏览器中输入http://localhost/test.do?method=test&value=123456789,将把“123456789”存入Redis,并从Redis中读出info值显示到页面。页面显示“123456789”,表示测试成功。


相关链接:

Jedis连接池配置

Jedis与ShardedJedis 设计

征服 Redis + Jedis

jedis使用


0 0
原创粉丝点击