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

      

  • 相关阅读:
    vue excel 二进制文件导出
    小程序 input 批量监听
    vue-cli3 环境配置
    vue 同一浏览器只允许登录一个账号的解决办法
    vue ueditor 百度富文本
    视频分享
    vue、react、mpvue、node、ng视频教程以及项目
    【转】 值得推荐的C/C++框架和库 (真的很强大)
    C# 验证过滤代理IP是否有效
    【转】 C#学习笔记14——Trace、Debug和TraceSource的使用以及日志设计
  • 原文地址:https://www.cnblogs.com/yanqin/p/8342836.html
Copyright © 2011-2022 走看看