文章摘要:spring框架怎么使用redis spring框架怎么使用的多线程
"spring框架使用redis的方法: 1.在pom.xml中导入redis的相关依赖,例如: & […]
"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();
}
}
}