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;
        }
    
    }
    

      

  • 相关阅读:
    说起创业,朋友说要有100%的把握我们再去创业,如果没有100%需要80%,你咋看?
    创业很难,有没有人愿意分享自己一些创业的点子,想法,尽量详细一点?
    开了家店但生意不好,又转不出去,一直在亏钱,怎么办?
    现在创业什么行业比较好?
    有人说,现在创业的机会已经都错过了,现在创业一切都晚了,你怎么看?
    比特币会归零吗?
    如果你中了500万,一个才华横溢的人来向你融资300万创业,你会同意吗?
    王思聪创办的熊猫直播将于3月8日正式关站,这会是直播行业的落幕吗?
    请问大家觉得做什么生意本小利润大?
    前端常见跨域解决方案(全)
  • 原文地址:https://www.cnblogs.com/yanqin/p/8342836.html
Copyright © 2011-2022 走看看