spring如何整合jedis呢?
下文笔者讲述Spring整合jedis的方法及示例分享,如下所示
Spring整合jedis的实现思路
1.Spring引入redis.clients.jedis.JedisPool类 2.编写jedisPool相关配置类 3.编写相应的工具类例:Spring整合jedis
xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<!-- Spring聚合配置 -->
<context:property-placeholder location="redis.properties" />
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="minIdle" value="${redis.minIdle}" />
</bean>
<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
<constructor-arg name="poolConfig" ref="poolConfig" />
<constructor-arg name="host" value="${redis.host}" />
<constructor-arg name="port" value="${redis.port}" />
<constructor-arg name="timeout" value="${redis.timeout}" />
<constructor-arg name="password" value="${redis.password}" />
</bean>
<bean class="redisutil.demo.utils.SpringBeanHolder" />
</beans>
Bean加载如下
package redisutil.demo.utils;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class SpringBeanHolder implements ApplicationContextAware {
private static ApplicationContext ac;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
ac = applicationContext;
}
public static Object getBean(String beanName){
return ac.getBean(beanName);
}
public static<T> T getBean(Class<T> clazz){
return ac.getBean(clazz);
}
}
操作jedis工具类
package redisutil.demo.utils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class RedisUtils {
private static JedisPool jedisPool = null;
static {
jedisPool = (JedisPool)SpringBeanHolder.getBean("jedisPool");
}
public static void set(String key, String value){
Jedis jedis = null;
try {
if(jedis == null){
jedis = jedisPool.getResource();
jedis.set(key, value);
}
}
catch (Exception e){
e.printStackTrace();
}
finally {
jedis.close();
}
}
public static void set(String key, String value, int expireTime){
Jedis jedis = null;
try {
if(jedis == null){
jedis = jedisPool.getResource();
jedis.set(key, value);
jedis.expire(key, expireTime);
}
}
catch (Exception e){
e.printStackTrace();
}
finally {
jedis.close();
}
}
public static String get(String key, String value){
return null;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


