java jedispool实例_spring集成jedis简单实例

jedis是redis的java客户端,spring将redis连接池作为一个bean配置。

redis连接池分为两种,一种是“redis.clients.jedis.ShardedJedisPool”,这是基于hash算法的一种分布式集群redis客户端连接池。

另一种是“redis.clients.jedis.JedisPool”,这是单机环境适用的redis连接池。

maven导入相关包:

redis.clients

jedis

2.9.0

ShardedJedisPool是redis集群客户端的对象池,可以通过他来操作ShardedJedis,下面是ShardedJedisPool的xml配置,spring-jedis.xml:

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

${redis.pool.maxActive}

${redis.pool.maxIdle}

下面是单机环境下redis连接池的配置:

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

${redis.pool.maxActive}

${redis.pool.maxIdle}

对应的classpath:properties/redis.properties.xml为:

#最大分配的对象数

redis.pool.maxActive=200

#最大能够保持idel状态的对象数

redis.pool.maxIdle=50redis.pool.minIdle=10redis.pool.maxWaitMillis=20000

#当池内没有返回对象时,最大等待时间

redis.pool.maxWait=300

#格式:redis://:[密码]@[服务器地址]:[端口]/[db index]

redis.uri = redis://:12345@127.0.0.1:6379/0redis.host= 127.0.0.1redis.port= 6379redis.timeout=30000redis.password= 12345redis.database= 0

二者操作代码类似,都是先注入连接池,然后通过连接池获得jedis实例,通过实例对象操作redis。

ShardedJedis操作:

@Autowiredprivate ShardedJedisPool shardedJedisPool;//注入ShardedJedisPool

@RequestMapping(value= "/demo_set",method =RequestMethod.GET)

@ResponseBodypublicString demo_set(){//获取ShardedJedis对象

ShardedJedis shardJedis =shardedJedisPool.getResource();//存入键值对

shardJedis.set("key1","hello jedis");//回收ShardedJedis实例

shardJedis.close();return "set";

}

@RequestMapping(value= "/demo_get",method =RequestMethod.GET)

@ResponseBodypublicString demo_get(){

ShardedJedis shardedJedis=shardedJedisPool.getResource();//根据键值获得数据

String result = shardedJedis.get("key1");

shardedJedis.close();returnresult;

}

Jedis操作:

@Autowiredprivate JedisPool jedisPool;//注入JedisPool

@RequestMapping(value= "/demo_set",method =RequestMethod.GET)

@ResponseBodypublicString demo_set(){//获取ShardedJedis对象

Jedis jedis =jedisPool.getResource();//存入键值对

jedis.set("key2","hello jedis one");//回收ShardedJedis实例

jedis.close();return "set";

}

@RequestMapping(value= "/demo_get",method =RequestMethod.GET)

@ResponseBodypublicString demo_get(){

Jedis jedis=jedisPool.getResource();//根据键值获得数据

String result = jedis.get("key2");

jedis.close();returnresult;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值