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; } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。