• Redis连接池-Java代码


    1、JedisUtil类

    2、测试类

    3、测试日志(模拟出现竞争情况)

    import org.apache.log4j.Logger;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    
    public class JedisUtil {
        protected static Logger logger = Logger.getLogger(JedisUtil.class);
        // Redis server IP
        private static String HOST_LIST = "192.168.0.123";
        // Redis port
        private static int PORT = 6379;
        // auth
        private static String PASS = "jiangtao";
        private static int MAX_ACTIVE = 10;
        private static int MAX_IDLE = 2;
        private static boolean TEST_ON_BORROW = false;
        private static int MAX_WAIT = 3000;
        private static int TIMEOUT = 100000;
        private static JedisPool jedisPool = null;
    
        /**
         * initial Pool
         */
        private static synchronized void init_pool() {
            if (jedisPool == null) {
                try {
    
                    JedisPoolConfig config = new JedisPoolConfig();
    
                    config.setMaxTotal(MAX_ACTIVE);
    
                    config.setMaxIdle(MAX_IDLE);
    
                    config.setMaxWaitMillis(MAX_WAIT);
    
                    config.setTestOnBorrow(TEST_ON_BORROW);
    
                    jedisPool = new JedisPool(config, HOST_LIST.split(",")[0], PORT, TIMEOUT, PASS);
    
                } catch (Exception e) {
    
                    logger.error("First create JedisPool error : " + e);
    
                    try {
    
                        // 如果第一个IP异常,则访问第二个IP
    
                        JedisPoolConfig config = new JedisPoolConfig();
    
                        config.setMaxTotal(MAX_ACTIVE);
    
                        config.setMaxIdle(MAX_IDLE);
    
                        config.setMaxWaitMillis(MAX_WAIT);
    
                        config.setTestOnBorrow(TEST_ON_BORROW);
    
                        jedisPool = new JedisPool(config, HOST_LIST.split(",")[1], PORT, TIMEOUT, PASS);
    
                    } catch (Exception e2) {
    
                        logger.error("Second create JedisPool error : " + e2);
    
                    }
    
                }
            }
    
        }
    
        public synchronized static Jedis getJedis() {
            if (jedisPool == null) {
                init_pool();
            }
            Jedis jedis = null;
            try {
                if (jedisPool != null) {
                    jedis = jedisPool.getResource();
                }
            } catch (Exception e) {
                System.out.println("no remain redis from pool");
            } 
            return jedis;
        }
    
        /**
         * 释放jedis资源
         *
         * 
         * 
         * @param jedis
         */
    
        public static void returnResource(final Jedis jedis) {
            if (jedis != null && jedisPool != null) {
                jedis.close();
            }
    
        }
    
    }
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import redis.clients.jedis.Jedis;
    
    public class Test {
    
        public static void main(String[] args) {
            for (int i = 0; i < 1000; i++) {
                Test_Thread t = new Test_Thread(i);
                t.start();
            }
        }
    
    }
    
    class Test_Thread extends Thread {
        int i = 0;
    
        public Test_Thread(int i) {
            this.i = i;
        }
    
        public void run() {
    
            Date date = new Date();
            DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String time = format.format(date);
            Jedis obj = JedisUtil.getJedis();
            String value = null;
            if (obj != null) {
                obj.set("test",time);
                try {
                    sleep(10000);
                } catch (InterruptedException e) {
                    System.out.println("sleep error");
                }
                value = obj.get("test");
                Date date2 = new Date();
                String time2 = format.format(date2);
                System.out.println("【输出>>>>】test:" + value + " 第:" + i + "个线程" + "当前时间:" + time2);
            }
            JedisUtil.returnResource(obj);
    
            // JedisUtil.setString("test", time);
    
        }
    
    }
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:13个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:999个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:995个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:991个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:987个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:983个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:979个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:975个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:971个线程当前时间:2018-07-22 10:38:29
    【输出>>>>】test:2018-07-22 10:38:19 第:967个线程当前时间:2018-07-22 10:38:29
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:951个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:947个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:952个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:943个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:997个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:993个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:989个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:985个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:981个线程当前时间:2018-07-22 10:38:39
    【输出>>>>】test:2018-07-22 10:38:19 第:977个线程当前时间:2018-07-22 10:38:39
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:998个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:994个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:990个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:986个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:982个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:978个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:974个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:970个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:996个线程当前时间:2018-07-22 10:38:49
    【输出>>>>】test:2018-07-22 10:38:19 第:992个线程当前时间:2018-07-22 10:38:49
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:976个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:972个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:968个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:966个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:964个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:960个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:962个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:961个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:956个线程当前时间:2018-07-22 10:38:59
    【输出>>>>】test:2018-07-22 10:38:19 第:958个线程当前时间:2018-07-22 10:38:59
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:948个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:953个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:925个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:938个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:937个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:935个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:936个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:950个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:934个线程当前时间:2018-07-22 10:39:09
    【输出>>>>】test:2018-07-22 10:38:19 第:933个线程当前时间:2018-07-22 10:39:09
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:945个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:923个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:944个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:919个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:940个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:942个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:932个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:941个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:930个线程当前时间:2018-07-22 10:39:19
    【输出>>>>】test:2018-07-22 10:38:19 第:929个线程当前时间:2018-07-22 10:39:19
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:917个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:918个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:898个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:913个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:895个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:915个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:893个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:926个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:855个线程当前时间:2018-07-22 10:39:29
    【输出>>>>】test:2018-07-22 10:38:19 第:924个线程当前时间:2018-07-22 10:39:29
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:908个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:882个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:775个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:914个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:901个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:916个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:877个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:837个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:897个线程当前时间:2018-07-22 10:39:39
    【输出>>>>】test:2018-07-22 10:38:19 第:912个线程当前时间:2018-07-22 10:39:39
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:907个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:889个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:910个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:885个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:909个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:884个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:886个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:883个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:881个线程当前时间:2018-07-22 10:39:49
    【输出>>>>】test:2018-07-22 10:38:19 第:880个线程当前时间:2018-07-22 10:39:49
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:906个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:875个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:902个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:863个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:905个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:859个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:800个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:851个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:903个线程当前时间:2018-07-22 10:39:59
    【输出>>>>】test:2018-07-22 10:38:19 第:904个线程当前时间:2018-07-22 10:39:59
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:845个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:894个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:809个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:838个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:896个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:796个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:899个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:874个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:872个线程当前时间:2018-07-22 10:40:10
    【输出>>>>】test:2018-07-22 10:38:19 第:873个线程当前时间:2018-07-22 10:40:10
    no remain redis from pool
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:821个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:891个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:782个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:826个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:825个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:824个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:829个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:816个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:890个线程当前时间:2018-07-22 10:40:20
    【输出>>>>】test:2018-07-22 10:38:19 第:765个线程当前时间:2018-07-22 10:40:23
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:818个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:887个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:843个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:819个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:878个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:803个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:811个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:807个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:876个线程当前时间:2018-07-22 10:40:30
    【输出>>>>】test:2018-07-22 10:38:19 第:795个线程当前时间:2018-07-22 10:40:33
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:791个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:779个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:835个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:771个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:814个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:810个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:839个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:774个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:763个线程当前时间:2018-07-22 10:40:40
    【输出>>>>】test:2018-07-22 10:38:19 第:759个线程当前时间:2018-07-22 10:40:43
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:856个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:854个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:857个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:755个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:862个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:861个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:864个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:858个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:860个线程当前时间:2018-07-22 10:40:50
    【输出>>>>】test:2018-07-22 10:38:19 第:853个线程当前时间:2018-07-22 10:40:53
    no remain redis from pool
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:848个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:850个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:806个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:743个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:846个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:844个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:842个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:841个线程当前时间:2018-07-22 10:41:00
    【输出>>>>】test:2018-07-22 10:38:19 第:840个线程当前时间:2018-07-22 10:41:00
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:712个线程当前时间:2018-07-22 10:41:05
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:727个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:704个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:725个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:834个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:798个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:726个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:801个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:722个线程当前时间:2018-07-22 10:41:10
    【输出>>>>】test:2018-07-22 10:38:19 第:833个线程当前时间:2018-07-22 10:41:10
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:699个线程当前时间:2018-07-22 10:41:15
    no remain redis from pool
    【输出>>>>】test:2018-07-22 10:38:19 第:797个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:679个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:832个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:667个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:817个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:830个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:786个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:828个线程当前时间:2018-07-22 10:41:20
    【输出>>>>】test:2018-07-22 10:38:19 第:706个线程当前时间:2018-07-22 10:41:20
  • 相关阅读:
    php实现频率限制
    手机号打码
    qxx项目大文件上传
    502错误
    mac 安装phpunit
    文件权限问题
    无题
    php安装redis扩展全
    linux中whereis、which、find、location的区别和用法
    php安装redis扩展
  • 原文地址:https://www.cnblogs.com/jiangtao1218/p/9349382.html
Copyright © 2020-2023  润新知