zoukankan      html  css  js  c++  java
  • Java Redis 连接池 Jedis 工具类

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    
    public class MyJedisPool {
    
        private final static Logger logger = LoggerFactory.getLogger(MyJedisPool.class);
    
        private static JedisPool readPool = null;
        private static JedisPool writePool = null;
    
        //静态代码初始化池配置
        static {
            try{
                Properties props = new Properties();
                InputStream in = MyJedisPool.class.getResourceAsStream("/redis.properties");
                props.load(in);
    
                //创建jedis池配置实例
                JedisPoolConfig config = new JedisPoolConfig();
    
                //设置池配置项值
                config.setMaxTotal(Integer.valueOf(props.getProperty("jedis.pool.maxActive")));
                config.setMaxIdle(Integer.valueOf(props.getProperty("jedis.pool.maxIdle")));
                config.setMaxWaitMillis(Long.valueOf(props.getProperty("jedis.pool.maxWait")));
                config.setTestOnBorrow(Boolean.valueOf(props.getProperty("jedis.pool.testOnBorrow")));
                config.setTestOnReturn(Boolean.valueOf(props.getProperty("jedis.pool.testOnReturn")));
    
                //根据配置实例化jedis池
                readPool = new JedisPool(config, props.getProperty("redisReadURL"), Integer.valueOf(props.getProperty("redisReadPort")));
                writePool = new JedisPool(config, props.getProperty("redisWriteURL"), Integer.valueOf(props.getProperty("redisWritePort")));
    
            }catch (IOException e) {
                logger.info("redis连接池异常",e);
            }
        }
    
    
    
        /**获得jedis对象*/
        public static Jedis getReadJedisObject(){
            return readPool.getResource();
        }
        /**获得jedis对象*/
        public static Jedis getWriteJedisObject(){
            return writePool.getResource();
        }
    
        /**归还jedis对象*/
        public static void returnJedisOjbect(Jedis jedis){
            if (jedis != null) {
                jedis.close();
            }
        }
    
    }
    

      

    import redis.clients.jedis.Jedis;
    
    import java.util.Set;
    
    
    public class RedisUtils {
    
        /**
         * 获取hash表中所有key
         * @param name
         * @return
         */
        public static Set<String> getHashAllKey(String name){
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getReadJedisObject();
                return jedis.hkeys(name);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
        /**
         * 从redis hash表中获取
         * @param hashName
         * @param key
         * @return
         */
        public static String getHashKV(String hashName,String key){
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getReadJedisObject();
                return jedis.hget(hashName, key);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
        /**
         * 删除hash表的键值对
         * @param hashName
         * @param key
         */
        public static Long delHashKV(String hashName,String key){
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getWriteJedisObject();
                return jedis.hdel(hashName,key);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
        /**
         * 存放hash表键值对
         * @param hashName
         * @param key
         * @param value
         */
        public static Long setHashKV(String hashName,String key,String value){
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getWriteJedisObject();
                return jedis.hset(hashName,key,value);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
        /**
         * 删除键值对
         * @param k
         * @return
         */
        public static Long delKV(String k){
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getWriteJedisObject();
                return jedis.del(k);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
        /**
         * 放键值对
         * 永久
         * @param k
         * @param v
         */
        public static String setKV(String k, String v)
        {
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getWriteJedisObject();
                return jedis.set(k, v);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
    
        /**
         * 放键值对
         *
         * @param k
         * @param v
         */
        public static String setKV(String k,int second, String v)
        {
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getWriteJedisObject();
                return jedis.setex(k,second, v);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
        /**
         * 根据key取value
         *
         * @param k
         * @return
         */
        public static String getKV(String k)
        {
            Jedis jedis = null;
            try {
                jedis = MyJedisPool.getReadJedisObject();
                return jedis.get(k);
            }catch (Exception e){
                e.printStackTrace();
            }finally {
                MyJedisPool.returnJedisOjbect(jedis);
            }
            return null;
        }
    
    }
    

      

  • 相关阅读:
    参数化2--CSV Data Set Config 参数化配置
    简单的数据库性能测试方法
    localStorage.getItem
    性能测试入门分析
    参数化1--jmeter参数化数据(_csvread函数、用户自定义变量等)
    Jmeter聚合报告分析
    JMeter入门(4):Java Request实例
    JMeter入门(3):录制JMeter脚本
    JMeter入门(2):一个简单实例
    JMeter入门(1):JMeter总体介绍及组件介绍
  • 原文地址:https://www.cnblogs.com/yanqin/p/8342836.html
Copyright © 2011-2022 走看看