非切片redis:表示只有一個redis緩存服務器
java
package com.mifi.common; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class RedisClient { private Jedis jedis;//非切片客戶端鏈接 private JedisPool jedisPool;//非切片鏈接池 public Jedis getJedis() { return jedis; } public void setJedis(Jedis jedis) { this.jedis = jedis; } public JedisPool getJedisPool() { return jedisPool; } public void setJedisPool(JedisPool jedisPool) { this.jedisPool = jedisPool; } public RedisClient() { initialPool(); jedis = jedisPool.getResource(); } public void initialPool(){ // 池基本配置 JedisPoolConfig config = new JedisPoolConfig(); config.setMaxIdle(5); config.setMaxWaitMillis(2000000l); config.setTestOnBorrow(false); // jedisPool = new JedisPool(poolConfig, host, port, timeout) } }
也可以使用配置:redis
<context:property-placeholder location="classpath*:redis.properties" /> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxIdle" value="${redis.pool.maxIdle}" /> <property name="maxWaitMillis" value="${redis.pool.setMaxWaitMillis}" /> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> </bean> <bean id="jedisPool" class="redis.clients.jedis.JedisPool"> <constructor-arg index="0" ref="jedisPoolConfig" /> <constructor-arg index="1" value="${redis.hostname}" type="String"/> <constructor-arg index="2" value="${redis.port}" type="int" /> <constructor-arg index="3" value="${redis.timeout}" type="int" /> </bean>
屬性文件配置緩存
redis.pool.maxIdle=5 redis.pool.setMaxWaitMillis=1000 redis.pool.testOnBorrow=true redis.hostname=192.168.0.10 redis.port=6379 redis.timeout=600
獲取實例:服務器
配置redispool的bean
ide
@Resource(name="jedisPool") JedisPool jedisPool;
在方法中獲取redis實例,實際上是jedis,目前的配置,存放的value只支持Stringthis
Jedis jedis = jedisPool.getResource(); jedis.setex("key", time, "value");//time:緩存保存的時間,單位是秒
從redis中獲取spa
Jedis jedis = jedisPool.getResource(); String jedisPhone = jedis.get("key");
從redis中移除xml
jedis.del("key");
使用的jar包:get
jedis-2.7.3.jarit