zoukankan      html  css  js  c++  java
  • 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();
    
        }
  • 相关阅读:
    C# 如何在PDF文档中创建表格
    C# 如何创建Excel多级分组
    C# 添加、修改以及删除Excel迷你图表的方法
    C# 创建EXCEL图表并保存为图片
    【BZOJ5287】[HNOI2018]毒瘤(动态规划,容斥)
    【BZOJ5250】[九省联考2018]秘密袭击(动态规划)
    【BZOJ5213】[ZJOI2018]迷宫(神仙题)
    CodeForces Global Round 1
    【BZOJ5212】[ZJOI2018]历史(Link-Cut Tree)
    【BZOJ5211】[ZJOI2018]线图(树哈希,动态规划)
  • 原文地址:https://www.cnblogs.com/jugglee/p/9037679.html
Copyright © 2011-2022 走看看