• Java操作Redis


    使用连接池

     1 public class Test {
     2 
     3     /**
     4      * Redis地址
     5      */
     6     private static final String ADDR = "10.124.133.184";
     7 
     8     /**
     9      * Redis端口
    10      */
    11     private static final Integer PORT = 6379;
    12 
    13     /**
    14      * Redis访问密码
    15      */
    16     private static final String AUTH = "icloud20180514160728";
    17 
    18     /**
    19      * 可用连接实例的最大数目,默认值为8
    20      * 如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)
    21      */
    22     private static final Integer MAX_ACTIVE = 1024;
    23 
    24     /**
    25      * 控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。
    26      */
    27     private static final Integer MAX_IDLE = 200;
    28 
    29     /**
    30      * 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException;
    31      */
    32     private static int MAX_WAIT = 10000;
    33 
    34     private static final Integer TIMEOUT = 10000;
    35 
    36     /**
    37      * 在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的
    38      */
    39     private static final Boolean TEST_ON_BORROW = true;
    40 
    41     private static JedisPool jedisPool = null;
    42 
    43 
    44     /**
    45      * 初始化Redis连接池
    46      */
    47     static {
    48         try {
    49             JedisPoolConfig config = new JedisPoolConfig();
    50             config.setMaxIdle(MAX_IDLE);
    51             config.setTestOnBorrow(TEST_ON_BORROW);
    52             jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH);
    53         } catch (Exception e) {
    54             e.printStackTrace();
    55         }
    56     }
    57 
    58     /**
    59      * 获取Jedis实例
    60      * @return
    61      */
    62     private static synchronized Jedis getJedis() {
    63         try {
    64             if (jedisPool != null) {
    65                 return jedisPool.getResource();
    66             } else {
    67                 return null;
    68             }
    69         } catch (Exception e) {
    70             e.printStackTrace();
    71             return null;
    72         }
    73     }
    74     public static void main(String[] args) {
    75 
    76         Jedis jedis = null;
    77         jedis = getJedis();
    78         if(null != jedis){
    79             List<String> configList = jedis.configGet("*");
    80             Map<String, String> confMap = new HashMap<String, String>();
    81             Integer step = 2;
    82             for(int i = 0; i < configList.size(); i = i + step){
    83                 String paramName = configList.get(i);
    84                 String paramValue = configList.get(i + 1);
    85                 confMap.put(paramName, paramValue);
    86             }
    87             jedis.close();
    88         }else{
    89             System.out.println("jedis is null");
    90         }
    91     }
    92 }

    不用连接池

        public static void main(String[] args) {
    
            Jedis jedis = null;
            jedis = new Jedis(ADDR, PORT);
            jedis.auth(AUTH);
    
            Map<String, String> confMap = new HashMap<String, String>();
            List<String> configList = jedis.configGet("*");
            Integer step = 2;
            for(int i = 0; i < configList.size(); i = i + step){
                String paramName = configList.get(i);
                String paramValue = configList.get(i + 1);
                confMap.put(paramName, paramValue);
            }
            for(Map.Entry entry : confMap.entrySet()) {
                System.out.println(entry.getKey() + ": " + entry.getValue());
            }
            //        jedis.configSet("hash-max-ziplist-entries","256");
            System.out.println("hash-max-ziplist-entries: " + jedis.configGet("hash-max-ziplist-entries"));
            jedis.close();
    
        }
  • 相关阅读:
    3号团队-团队任务4:每日例会(2018-11-28)
    10号团队-团队任务5:项目总结
    课后作业4-个人总结
    团队任务4-每日例会(2018-12-6)
    团队任务4-每日例会(2018-12-5)
    团队任务4-每日例会(2018-12-4)
    团队任务4-每日例会(2018-12-3)
    团队任务4:每日例会(2018-11-30)
    团队任务4:每日例会(2018-11-28)
    团队任务4:每日例会(2018-11-29)
  • 原文地址:https://www.cnblogs.com/jugglee/p/9037679.html
Copyright © 2020-2023  润新知