"spring框架使用redis的方法:
1.在pom.xml中導入redis的相關依賴,例如:
<dependency><groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.1.0</version>
</dependency>
2.在applicationContext.xml中添加redis相關配置,例如:
<!--redis 配置 開始--><bean id=""jedisPoolConfig"" class=""redis.clients.jedis.JedisPoolConfig"">
<property name=""maxActive"" value=""300""/>
<property name=""maxIdle"" value=""100""/>
<property name=""maxWait"" value=""1000""/>
<property name=""testOnBorrow"" value=""true""/>
</bean>
<!-- Config poolConfig, String host, int port, int timeout, String password, int database-->
<bean id=""jedisPool"" class=""redis.clients.jedis.JedisPool"" destroy-method=""destroy"">
<constructor-arg ref=""jedisPoolConfig""/>
<constructor-arg value=""127.0.0.1""/>
<constructor-arg value=""6379""/>
<constructor-arg value=""3000""/>
<constructor-arg value=""123456""/>
<constructor-arg value=""0""/>
</bean>
<bean id=""redisAPI"" class=""com.xc.util.RedisAPI"">
<property name=""jedisPool"" ref=""jedisPool""/>
</bean>
3.最后創建redis的工具類即可。代碼如下:
public class RedisAPI {public static JedisPool jedisPool;
public JedisPool getJedisPool() {
return jedisPool;
}
public void setJedisPool(JedisPool jedisPool) {
RedisAPI.jedisPool = jedisPool;
}
/**
* set key and value to redis
* @param key
* @param value
* @return
*/
public static boolean set(String key,String value){
try{
Jedis jedis = jedisPool.getResource();
jedis.set(key, value);
return true;
}catch(Exception e){
e.printStackTrace();
}
return false;
}
/**
* set key and value to redis
* @param key
* @param seconds 有效期
* @param value
* @return
*/
public static boolean set(String key,int seconds,String value){
try{
Jedis jedis = jedisPool.getResource();
jedis.setex(key, seconds, value);
return true;
}catch(Exception e){
e.printStackTrace();
}
return false;
}
/**
* 判斷某個key是否存在
* @param key
* @return
*/
public boolean exist(String key){
try{
Jedis jedis = jedisPool.getResource();
return jedis.exists(key);
}catch(Exception e){
e.printStackTrace();
}
return false;
}
/**
* 返還到連接池
* @param pool
* @param redis
*/
public static void returnResource(JedisPool pool,Jedis redis){
if(redis != null){
pool.returnResource(redis);
}
}
/**
* 獲取數據
* @param key
* @return
*/
public String get(String key){
String value = null;
Jedis jedis = null;
try{
jedis = jedisPool.getResource();
value = jedis.get(key);
}catch(Exception e){
e.printStackTrace();
}finally{
//返還到連接池
returnResource(jedisPool, jedis);
}
return value;
}
/**
* 查詢key的有效期,當 key 不存在時,返回 -2 。 當 key 存在但沒有設置剩余生存時間時,返回 -1 。 否則,以秒為單位,返回 key 的剩余生存時間。
* 注意:在 Redis 2.8 以前,當 key 不存在,或者 key 沒有設置剩余生存時間時,命令都返回 -1 。
* @param key
* @return 剩余多少秒
*/
public Long ttl(String key){
try{
Jedis jedis = jedisPool.getResource();
return jedis.ttl(key);
}catch(Exception e){
e.printStackTrace();
}
return (long) -2;
}
/**
* 刪除
* @param key
*/
public void delete(String key){
try{
Jedis jedis = jedisPool.getResource();
jedis.del(key);
}catch(Exception e){
e.printStackTrace();
}
}
}