1、JedisUtil类

2、测试类

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

  1. import org.apache.log4j.Logger;
  2. import redis.clients.jedis.Jedis;
  3. import redis.clients.jedis.JedisPool;
  4. import redis.clients.jedis.JedisPoolConfig;
  5.  
  6. public class JedisUtil {
  7. protected static Logger logger = Logger.getLogger(JedisUtil.class);
  8. // Redis server IP
  9. private static String HOST_LIST = "192.168.0.123";
  10. // Redis port
  11. private static int PORT = 6379;
  12. // auth
  13. private static String PASS = "jiangtao";
  14. private static int MAX_ACTIVE = 10;
  15. private static int MAX_IDLE = 2;
  16. private static boolean TEST_ON_BORROW = false;
  17. private static int MAX_WAIT = 3000;
  18. private static int TIMEOUT = 100000;
  19. private static JedisPool jedisPool = null;
  20.  
  21. /**
  22. * initial Pool
  23. */
  24. private static synchronized void init_pool() {
  25. if (jedisPool == null) {
  26. try {
  27.  
  28. JedisPoolConfig config = new JedisPoolConfig();
  29.  
  30. config.setMaxTotal(MAX_ACTIVE);
  31.  
  32. config.setMaxIdle(MAX_IDLE);
  33.  
  34. config.setMaxWaitMillis(MAX_WAIT);
  35.  
  36. config.setTestOnBorrow(TEST_ON_BORROW);
  37.  
  38. jedisPool = new JedisPool(config, HOST_LIST.split(",")[0], PORT, TIMEOUT, PASS);
  39.  
  40. } catch (Exception e) {
  41.  
  42. logger.error("First create JedisPool error : " + e);
  43.  
  44. try {
  45.  
  46. // 如果第一个IP异常,则访问第二个IP
  47.  
  48. JedisPoolConfig config = new JedisPoolConfig();
  49.  
  50. config.setMaxTotal(MAX_ACTIVE);
  51.  
  52. config.setMaxIdle(MAX_IDLE);
  53.  
  54. config.setMaxWaitMillis(MAX_WAIT);
  55.  
  56. config.setTestOnBorrow(TEST_ON_BORROW);
  57.  
  58. jedisPool = new JedisPool(config, HOST_LIST.split(",")[1], PORT, TIMEOUT, PASS);
  59.  
  60. } catch (Exception e2) {
  61.  
  62. logger.error("Second create JedisPool error : " + e2);
  63.  
  64. }
  65.  
  66. }
  67. }
  68.  
  69. }
  70.  
  71. public synchronized static Jedis getJedis() {
  72. if (jedisPool == null) {
  73. init_pool();
  74. }
  75. Jedis jedis = null;
  76. try {
  77. if (jedisPool != null) {
  78. jedis = jedisPool.getResource();
  79. }
  80. } catch (Exception e) {
  81. System.out.println("no remain redis from pool");
  82. }
  83. return jedis;
  84. }
  85.  
  86. /**
  87. * 释放jedis资源
  88. *
  89. *
  90. *
  91. * @param jedis
  92. */
  93.  
  94. public static void returnResource(final Jedis jedis) {
  95. if (jedis != null && jedisPool != null) {
  96. jedis.close();
  97. }
  98.  
  99. }
  100.  
  101. }
  1. import java.text.DateFormat;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4.  
  5. import redis.clients.jedis.Jedis;
  6.  
  7. public class Test {
  8.  
  9. public static void main(String[] args) {
  10. for (int i = 0; i < 1000; i++) {
  11. Test_Thread t = new Test_Thread(i);
  12. t.start();
  13. }
  14. }
  15.  
  16. }
  17.  
  18. class Test_Thread extends Thread {
  19. int i = 0;
  20.  
  21. public Test_Thread(int i) {
  22. this.i = i;
  23. }
  24.  
  25. public void run() {
  26.  
  27. Date date = new Date();
  28. DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  29. String time = format.format(date);
  30. Jedis obj = JedisUtil.getJedis();
  31. String value = null;
  32. if (obj != null) {
  33. obj.set("test",time);
  34. try {
  35. sleep(10000);
  36. } catch (InterruptedException e) {
  37. System.out.println("sleep error");
  38. }
  39. value = obj.get("test");
  40. Date date2 = new Date();
  41. String time2 = format.format(date2);
  42. System.out.println("【输出>>>>】test:" + value + " 第:" + i + "个线程" + "当前时间:" + time2);
  43. }
  44. JedisUtil.returnResource(obj);
  45.  
  46. // JedisUtil.setString("test", time);
  47.  
  48. }
  49.  
  50. }
  1. no remain redis from pool
  2. no remain redis from pool
  3. no remain redis from pool
  4. 【输出>>>>】test:2018-07-22 10:38:19 第:13个线程当前时间:2018-07-22 10:38:29
  5. 【输出>>>>】test:2018-07-22 10:38:19 第:999个线程当前时间:2018-07-22 10:38:29
  6. 【输出>>>>】test:2018-07-22 10:38:19 第:995个线程当前时间:2018-07-22 10:38:29
  7. 【输出>>>>】test:2018-07-22 10:38:19 第:991个线程当前时间:2018-07-22 10:38:29
  8. 【输出>>>>】test:2018-07-22 10:38:19 第:987个线程当前时间:2018-07-22 10:38:29
  9. 【输出>>>>】test:2018-07-22 10:38:19 第:983个线程当前时间:2018-07-22 10:38:29
  10. 【输出>>>>】test:2018-07-22 10:38:19 第:979个线程当前时间:2018-07-22 10:38:29
  11. 【输出>>>>】test:2018-07-22 10:38:19 第:975个线程当前时间:2018-07-22 10:38:29
  12. 【输出>>>>】test:2018-07-22 10:38:19 第:971个线程当前时间:2018-07-22 10:38:29
  13. 【输出>>>>】test:2018-07-22 10:38:19 第:967个线程当前时间:2018-07-22 10:38:29
  14. no remain redis from pool
  15. no remain redis from pool
  16. no remain redis from pool
  17. 【输出>>>>】test:2018-07-22 10:38:19 第:951个线程当前时间:2018-07-22 10:38:39
  18. 【输出>>>>】test:2018-07-22 10:38:19 第:947个线程当前时间:2018-07-22 10:38:39
  19. 【输出>>>>】test:2018-07-22 10:38:19 第:952个线程当前时间:2018-07-22 10:38:39
  20. 【输出>>>>】test:2018-07-22 10:38:19 第:943个线程当前时间:2018-07-22 10:38:39
  21. 【输出>>>>】test:2018-07-22 10:38:19 第:997个线程当前时间:2018-07-22 10:38:39
  22. 【输出>>>>】test:2018-07-22 10:38:19 第:993个线程当前时间:2018-07-22 10:38:39
  23. 【输出>>>>】test:2018-07-22 10:38:19 第:989个线程当前时间:2018-07-22 10:38:39
  24. 【输出>>>>】test:2018-07-22 10:38:19 第:985个线程当前时间:2018-07-22 10:38:39
  25. 【输出>>>>】test:2018-07-22 10:38:19 第:981个线程当前时间:2018-07-22 10:38:39
  26. 【输出>>>>】test:2018-07-22 10:38:19 第:977个线程当前时间:2018-07-22 10:38:39
  27. no remain redis from pool
  28. no remain redis from pool
  29. no remain redis from pool
  30. 【输出>>>>】test:2018-07-22 10:38:19 第:998个线程当前时间:2018-07-22 10:38:49
  31. 【输出>>>>】test:2018-07-22 10:38:19 第:994个线程当前时间:2018-07-22 10:38:49
  32. 【输出>>>>】test:2018-07-22 10:38:19 第:990个线程当前时间:2018-07-22 10:38:49
  33. 【输出>>>>】test:2018-07-22 10:38:19 第:986个线程当前时间:2018-07-22 10:38:49
  34. 【输出>>>>】test:2018-07-22 10:38:19 第:982个线程当前时间:2018-07-22 10:38:49
  35. 【输出>>>>】test:2018-07-22 10:38:19 第:978个线程当前时间:2018-07-22 10:38:49
  36. 【输出>>>>】test:2018-07-22 10:38:19 第:974个线程当前时间:2018-07-22 10:38:49
  37. 【输出>>>>】test:2018-07-22 10:38:19 第:970个线程当前时间:2018-07-22 10:38:49
  38. 【输出>>>>】test:2018-07-22 10:38:19 第:996个线程当前时间:2018-07-22 10:38:49
  39. 【输出>>>>】test:2018-07-22 10:38:19 第:992个线程当前时间:2018-07-22 10:38:49
  40. no remain redis from pool
  41. no remain redis from pool
  42. no remain redis from pool
  43. 【输出>>>>】test:2018-07-22 10:38:19 第:976个线程当前时间:2018-07-22 10:38:59
  44. 【输出>>>>】test:2018-07-22 10:38:19 第:972个线程当前时间:2018-07-22 10:38:59
  45. 【输出>>>>】test:2018-07-22 10:38:19 第:968个线程当前时间:2018-07-22 10:38:59
  46. 【输出>>>>】test:2018-07-22 10:38:19 第:966个线程当前时间:2018-07-22 10:38:59
  47. 【输出>>>>】test:2018-07-22 10:38:19 第:964个线程当前时间:2018-07-22 10:38:59
  48. 【输出>>>>】test:2018-07-22 10:38:19 第:960个线程当前时间:2018-07-22 10:38:59
  49. 【输出>>>>】test:2018-07-22 10:38:19 第:962个线程当前时间:2018-07-22 10:38:59
  50. 【输出>>>>】test:2018-07-22 10:38:19 第:961个线程当前时间:2018-07-22 10:38:59
  51. 【输出>>>>】test:2018-07-22 10:38:19 第:956个线程当前时间:2018-07-22 10:38:59
  52. 【输出>>>>】test:2018-07-22 10:38:19 第:958个线程当前时间:2018-07-22 10:38:59
  53. no remain redis from pool
  54. no remain redis from pool
  55. no remain redis from pool
  56. 【输出>>>>】test:2018-07-22 10:38:19 第:948个线程当前时间:2018-07-22 10:39:09
  57. 【输出>>>>】test:2018-07-22 10:38:19 第:953个线程当前时间:2018-07-22 10:39:09
  58. 【输出>>>>】test:2018-07-22 10:38:19 第:925个线程当前时间:2018-07-22 10:39:09
  59. 【输出>>>>】test:2018-07-22 10:38:19 第:938个线程当前时间:2018-07-22 10:39:09
  60. 【输出>>>>】test:2018-07-22 10:38:19 第:937个线程当前时间:2018-07-22 10:39:09
  61. 【输出>>>>】test:2018-07-22 10:38:19 第:935个线程当前时间:2018-07-22 10:39:09
  62. 【输出>>>>】test:2018-07-22 10:38:19 第:936个线程当前时间:2018-07-22 10:39:09
  63. 【输出>>>>】test:2018-07-22 10:38:19 第:950个线程当前时间:2018-07-22 10:39:09
  64. 【输出>>>>】test:2018-07-22 10:38:19 第:934个线程当前时间:2018-07-22 10:39:09
  65. 【输出>>>>】test:2018-07-22 10:38:19 第:933个线程当前时间:2018-07-22 10:39:09
  66. no remain redis from pool
  67. no remain redis from pool
  68. no remain redis from pool
  69. 【输出>>>>】test:2018-07-22 10:38:19 第:945个线程当前时间:2018-07-22 10:39:19
  70. 【输出>>>>】test:2018-07-22 10:38:19 第:923个线程当前时间:2018-07-22 10:39:19
  71. 【输出>>>>】test:2018-07-22 10:38:19 第:944个线程当前时间:2018-07-22 10:39:19
  72. 【输出>>>>】test:2018-07-22 10:38:19 第:919个线程当前时间:2018-07-22 10:39:19
  73. 【输出>>>>】test:2018-07-22 10:38:19 第:940个线程当前时间:2018-07-22 10:39:19
  74. 【输出>>>>】test:2018-07-22 10:38:19 第:942个线程当前时间:2018-07-22 10:39:19
  75. 【输出>>>>】test:2018-07-22 10:38:19 第:932个线程当前时间:2018-07-22 10:39:19
  76. 【输出>>>>】test:2018-07-22 10:38:19 第:941个线程当前时间:2018-07-22 10:39:19
  77. 【输出>>>>】test:2018-07-22 10:38:19 第:930个线程当前时间:2018-07-22 10:39:19
  78. 【输出>>>>】test:2018-07-22 10:38:19 第:929个线程当前时间:2018-07-22 10:39:19
  79. no remain redis from pool
  80. no remain redis from pool
  81. no remain redis from pool
  82. 【输出>>>>】test:2018-07-22 10:38:19 第:917个线程当前时间:2018-07-22 10:39:29
  83. 【输出>>>>】test:2018-07-22 10:38:19 第:918个线程当前时间:2018-07-22 10:39:29
  84. 【输出>>>>】test:2018-07-22 10:38:19 第:898个线程当前时间:2018-07-22 10:39:29
  85. 【输出>>>>】test:2018-07-22 10:38:19 第:913个线程当前时间:2018-07-22 10:39:29
  86. 【输出>>>>】test:2018-07-22 10:38:19 第:895个线程当前时间:2018-07-22 10:39:29
  87. 【输出>>>>】test:2018-07-22 10:38:19 第:915个线程当前时间:2018-07-22 10:39:29
  88. 【输出>>>>】test:2018-07-22 10:38:19 第:893个线程当前时间:2018-07-22 10:39:29
  89. 【输出>>>>】test:2018-07-22 10:38:19 第:926个线程当前时间:2018-07-22 10:39:29
  90. 【输出>>>>】test:2018-07-22 10:38:19 第:855个线程当前时间:2018-07-22 10:39:29
  91. 【输出>>>>】test:2018-07-22 10:38:19 第:924个线程当前时间:2018-07-22 10:39:29
  92. no remain redis from pool
  93. no remain redis from pool
  94. no remain redis from pool
  95. 【输出>>>>】test:2018-07-22 10:38:19 第:908个线程当前时间:2018-07-22 10:39:39
  96. 【输出>>>>】test:2018-07-22 10:38:19 第:882个线程当前时间:2018-07-22 10:39:39
  97. 【输出>>>>】test:2018-07-22 10:38:19 第:775个线程当前时间:2018-07-22 10:39:39
  98. 【输出>>>>】test:2018-07-22 10:38:19 第:914个线程当前时间:2018-07-22 10:39:39
  99. 【输出>>>>】test:2018-07-22 10:38:19 第:901个线程当前时间:2018-07-22 10:39:39
  100. 【输出>>>>】test:2018-07-22 10:38:19 第:916个线程当前时间:2018-07-22 10:39:39
  101. 【输出>>>>】test:2018-07-22 10:38:19 第:877个线程当前时间:2018-07-22 10:39:39
  102. 【输出>>>>】test:2018-07-22 10:38:19 第:837个线程当前时间:2018-07-22 10:39:39
  103. 【输出>>>>】test:2018-07-22 10:38:19 第:897个线程当前时间:2018-07-22 10:39:39
  104. 【输出>>>>】test:2018-07-22 10:38:19 第:912个线程当前时间:2018-07-22 10:39:39
  105. no remain redis from pool
  106. no remain redis from pool
  107. no remain redis from pool
  108. 【输出>>>>】test:2018-07-22 10:38:19 第:907个线程当前时间:2018-07-22 10:39:49
  109. 【输出>>>>】test:2018-07-22 10:38:19 第:889个线程当前时间:2018-07-22 10:39:49
  110. 【输出>>>>】test:2018-07-22 10:38:19 第:910个线程当前时间:2018-07-22 10:39:49
  111. 【输出>>>>】test:2018-07-22 10:38:19 第:885个线程当前时间:2018-07-22 10:39:49
  112. 【输出>>>>】test:2018-07-22 10:38:19 第:909个线程当前时间:2018-07-22 10:39:49
  113. 【输出>>>>】test:2018-07-22 10:38:19 第:884个线程当前时间:2018-07-22 10:39:49
  114. 【输出>>>>】test:2018-07-22 10:38:19 第:886个线程当前时间:2018-07-22 10:39:49
  115. 【输出>>>>】test:2018-07-22 10:38:19 第:883个线程当前时间:2018-07-22 10:39:49
  116. 【输出>>>>】test:2018-07-22 10:38:19 第:881个线程当前时间:2018-07-22 10:39:49
  117. 【输出>>>>】test:2018-07-22 10:38:19 第:880个线程当前时间:2018-07-22 10:39:49
  118. no remain redis from pool
  119. no remain redis from pool
  120. no remain redis from pool
  121. 【输出>>>>】test:2018-07-22 10:38:19 第:906个线程当前时间:2018-07-22 10:39:59
  122. 【输出>>>>】test:2018-07-22 10:38:19 第:875个线程当前时间:2018-07-22 10:39:59
  123. 【输出>>>>】test:2018-07-22 10:38:19 第:902个线程当前时间:2018-07-22 10:39:59
  124. 【输出>>>>】test:2018-07-22 10:38:19 第:863个线程当前时间:2018-07-22 10:39:59
  125. 【输出>>>>】test:2018-07-22 10:38:19 第:905个线程当前时间:2018-07-22 10:39:59
  126. 【输出>>>>】test:2018-07-22 10:38:19 第:859个线程当前时间:2018-07-22 10:39:59
  127. 【输出>>>>】test:2018-07-22 10:38:19 第:800个线程当前时间:2018-07-22 10:39:59
  128. 【输出>>>>】test:2018-07-22 10:38:19 第:851个线程当前时间:2018-07-22 10:39:59
  129. 【输出>>>>】test:2018-07-22 10:38:19 第:903个线程当前时间:2018-07-22 10:39:59
  130. 【输出>>>>】test:2018-07-22 10:38:19 第:904个线程当前时间:2018-07-22 10:39:59
  131. no remain redis from pool
  132. no remain redis from pool
  133. no remain redis from pool
  134. 【输出>>>>】test:2018-07-22 10:38:19 第:845个线程当前时间:2018-07-22 10:40:10
  135. 【输出>>>>】test:2018-07-22 10:38:19 第:894个线程当前时间:2018-07-22 10:40:10
  136. 【输出>>>>】test:2018-07-22 10:38:19 第:809个线程当前时间:2018-07-22 10:40:10
  137. 【输出>>>>】test:2018-07-22 10:38:19 第:838个线程当前时间:2018-07-22 10:40:10
  138. 【输出>>>>】test:2018-07-22 10:38:19 第:896个线程当前时间:2018-07-22 10:40:10
  139. 【输出>>>>】test:2018-07-22 10:38:19 第:796个线程当前时间:2018-07-22 10:40:10
  140. 【输出>>>>】test:2018-07-22 10:38:19 第:899个线程当前时间:2018-07-22 10:40:10
  141. 【输出>>>>】test:2018-07-22 10:38:19 第:874个线程当前时间:2018-07-22 10:40:10
  142. 【输出>>>>】test:2018-07-22 10:38:19 第:872个线程当前时间:2018-07-22 10:40:10
  143. 【输出>>>>】test:2018-07-22 10:38:19 第:873个线程当前时间:2018-07-22 10:40:10
  144. no remain redis from pool
  145. no remain redis from pool
  146. no remain redis from pool
  147. 【输出>>>>】test:2018-07-22 10:38:19 第:821个线程当前时间:2018-07-22 10:40:20
  148. 【输出>>>>】test:2018-07-22 10:38:19 第:891个线程当前时间:2018-07-22 10:40:20
  149. 【输出>>>>】test:2018-07-22 10:38:19 第:782个线程当前时间:2018-07-22 10:40:20
  150. 【输出>>>>】test:2018-07-22 10:38:19 第:826个线程当前时间:2018-07-22 10:40:20
  151. 【输出>>>>】test:2018-07-22 10:38:19 第:825个线程当前时间:2018-07-22 10:40:20
  152. 【输出>>>>】test:2018-07-22 10:38:19 第:824个线程当前时间:2018-07-22 10:40:20
  153. 【输出>>>>】test:2018-07-22 10:38:19 第:829个线程当前时间:2018-07-22 10:40:20
  154. 【输出>>>>】test:2018-07-22 10:38:19 第:816个线程当前时间:2018-07-22 10:40:20
  155. 【输出>>>>】test:2018-07-22 10:38:19 第:890个线程当前时间:2018-07-22 10:40:20
  156. 【输出>>>>】test:2018-07-22 10:38:19 第:765个线程当前时间:2018-07-22 10:40:23
  157. no remain redis from pool
  158. no remain redis from pool
  159. 【输出>>>>】test:2018-07-22 10:38:19 第:818个线程当前时间:2018-07-22 10:40:30
  160. 【输出>>>>】test:2018-07-22 10:38:19 第:887个线程当前时间:2018-07-22 10:40:30
  161. 【输出>>>>】test:2018-07-22 10:38:19 第:843个线程当前时间:2018-07-22 10:40:30
  162. 【输出>>>>】test:2018-07-22 10:38:19 第:819个线程当前时间:2018-07-22 10:40:30
  163. 【输出>>>>】test:2018-07-22 10:38:19 第:878个线程当前时间:2018-07-22 10:40:30
  164. 【输出>>>>】test:2018-07-22 10:38:19 第:803个线程当前时间:2018-07-22 10:40:30
  165. 【输出>>>>】test:2018-07-22 10:38:19 第:811个线程当前时间:2018-07-22 10:40:30
  166. 【输出>>>>】test:2018-07-22 10:38:19 第:807个线程当前时间:2018-07-22 10:40:30
  167. 【输出>>>>】test:2018-07-22 10:38:19 第:876个线程当前时间:2018-07-22 10:40:30
  168. 【输出>>>>】test:2018-07-22 10:38:19 第:795个线程当前时间:2018-07-22 10:40:33
  169. no remain redis from pool
  170. no remain redis from pool
  171. 【输出>>>>】test:2018-07-22 10:38:19 第:791个线程当前时间:2018-07-22 10:40:40
  172. 【输出>>>>】test:2018-07-22 10:38:19 第:779个线程当前时间:2018-07-22 10:40:40
  173. 【输出>>>>】test:2018-07-22 10:38:19 第:835个线程当前时间:2018-07-22 10:40:40
  174. 【输出>>>>】test:2018-07-22 10:38:19 第:771个线程当前时间:2018-07-22 10:40:40
  175. 【输出>>>>】test:2018-07-22 10:38:19 第:814个线程当前时间:2018-07-22 10:40:40
  176. 【输出>>>>】test:2018-07-22 10:38:19 第:810个线程当前时间:2018-07-22 10:40:40
  177. 【输出>>>>】test:2018-07-22 10:38:19 第:839个线程当前时间:2018-07-22 10:40:40
  178. 【输出>>>>】test:2018-07-22 10:38:19 第:774个线程当前时间:2018-07-22 10:40:40
  179. 【输出>>>>】test:2018-07-22 10:38:19 第:763个线程当前时间:2018-07-22 10:40:40
  180. 【输出>>>>】test:2018-07-22 10:38:19 第:759个线程当前时间:2018-07-22 10:40:43
  181. no remain redis from pool
  182. no remain redis from pool
  183. 【输出>>>>】test:2018-07-22 10:38:19 第:856个线程当前时间:2018-07-22 10:40:50
  184. 【输出>>>>】test:2018-07-22 10:38:19 第:854个线程当前时间:2018-07-22 10:40:50
  185. 【输出>>>>】test:2018-07-22 10:38:19 第:857个线程当前时间:2018-07-22 10:40:50
  186. 【输出>>>>】test:2018-07-22 10:38:19 第:755个线程当前时间:2018-07-22 10:40:50
  187. 【输出>>>>】test:2018-07-22 10:38:19 第:862个线程当前时间:2018-07-22 10:40:50
  188. 【输出>>>>】test:2018-07-22 10:38:19 第:861个线程当前时间:2018-07-22 10:40:50
  189. 【输出>>>>】test:2018-07-22 10:38:19 第:864个线程当前时间:2018-07-22 10:40:50
  190. 【输出>>>>】test:2018-07-22 10:38:19 第:858个线程当前时间:2018-07-22 10:40:50
  191. 【输出>>>>】test:2018-07-22 10:38:19 第:860个线程当前时间:2018-07-22 10:40:50
  192. 【输出>>>>】test:2018-07-22 10:38:19 第:853个线程当前时间:2018-07-22 10:40:53
  193. no remain redis from pool
  194. no remain redis from pool
  195. 【输出>>>>】test:2018-07-22 10:38:19 第:848个线程当前时间:2018-07-22 10:41:00
  196. 【输出>>>>】test:2018-07-22 10:38:19 第:850个线程当前时间:2018-07-22 10:41:00
  197. 【输出>>>>】test:2018-07-22 10:38:19 第:806个线程当前时间:2018-07-22 10:41:00
  198. 【输出>>>>】test:2018-07-22 10:38:19 第:743个线程当前时间:2018-07-22 10:41:00
  199. 【输出>>>>】test:2018-07-22 10:38:19 第:846个线程当前时间:2018-07-22 10:41:00
  200. 【输出>>>>】test:2018-07-22 10:38:19 第:844个线程当前时间:2018-07-22 10:41:00
  201. 【输出>>>>】test:2018-07-22 10:38:19 第:842个线程当前时间:2018-07-22 10:41:00
  202. 【输出>>>>】test:2018-07-22 10:38:19 第:841个线程当前时间:2018-07-22 10:41:00
  203. 【输出>>>>】test:2018-07-22 10:38:19 第:840个线程当前时间:2018-07-22 10:41:00
  204. no remain redis from pool
  205. 【输出>>>>】test:2018-07-22 10:38:19 第:712个线程当前时间:2018-07-22 10:41:05
  206. no remain redis from pool
  207. 【输出>>>>】test:2018-07-22 10:38:19 第:727个线程当前时间:2018-07-22 10:41:10
  208. 【输出>>>>】test:2018-07-22 10:38:19 第:704个线程当前时间:2018-07-22 10:41:10
  209. 【输出>>>>】test:2018-07-22 10:38:19 第:725个线程当前时间:2018-07-22 10:41:10
  210. 【输出>>>>】test:2018-07-22 10:38:19 第:834个线程当前时间:2018-07-22 10:41:10
  211. 【输出>>>>】test:2018-07-22 10:38:19 第:798个线程当前时间:2018-07-22 10:41:10
  212. 【输出>>>>】test:2018-07-22 10:38:19 第:726个线程当前时间:2018-07-22 10:41:10
  213. 【输出>>>>】test:2018-07-22 10:38:19 第:801个线程当前时间:2018-07-22 10:41:10
  214. 【输出>>>>】test:2018-07-22 10:38:19 第:722个线程当前时间:2018-07-22 10:41:10
  215. 【输出>>>>】test:2018-07-22 10:38:19 第:833个线程当前时间:2018-07-22 10:41:10
  216. no remain redis from pool
  217. 【输出>>>>】test:2018-07-22 10:38:19 第:699个线程当前时间:2018-07-22 10:41:15
  218. no remain redis from pool
  219. 【输出>>>>】test:2018-07-22 10:38:19 第:797个线程当前时间:2018-07-22 10:41:20
  220. 【输出>>>>】test:2018-07-22 10:38:19 第:679个线程当前时间:2018-07-22 10:41:20
  221. 【输出>>>>】test:2018-07-22 10:38:19 第:832个线程当前时间:2018-07-22 10:41:20
  222. 【输出>>>>】test:2018-07-22 10:38:19 第:667个线程当前时间:2018-07-22 10:41:20
  223. 【输出>>>>】test:2018-07-22 10:38:19 第:817个线程当前时间:2018-07-22 10:41:20
  224. 【输出>>>>】test:2018-07-22 10:38:19 第:830个线程当前时间:2018-07-22 10:41:20
  225. 【输出>>>>】test:2018-07-22 10:38:19 第:786个线程当前时间:2018-07-22 10:41:20
  226. 【输出>>>>】test:2018-07-22 10:38:19 第:828个线程当前时间:2018-07-22 10:41:20
  227. 【输出>>>>】test:2018-07-22 10:38:19 第:706个线程当前时间:2018-07-22 10:41:20

Redis连接池-Java代码的更多相关文章

  1. Java Redis 连接池 Jedis 工具类

    import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis; import re ...

  2. java操作redis redis连接池

    redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis. 1.java连接redis java通过需要jedis的jar包获取Jedis连接. jedis-2.8 ...

  3. Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池

    如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...

  4. 这个 Redis 连接池的新监控方式针不戳~我再加一点佐料

    Lettuce 是一个 Redis 连接池,和 Jedis 不一样的是,Lettuce 是主要基于 Netty 以及 ProjectReactor 实现的异步连接池.由于基于 ProjectReact ...

  5. 三:Redis连接池、JedisPool详解、Redisi分布式

    单机模式: package com.ljq.utils; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; ...

  6. redis连接池 jedis-2.9.0.jar+commons-pool2-2.4.2.jar

    java使用Redis连接池  jar包为 jedis-2.9.0.jar+commons-pool2-2.4.2.jar jar下载地址 package com.test; import redis ...

  7. Go语言之从0到1实现一个简单的Redis连接池

    Go语言之从0到1实现一个简单的Redis连接池 前言 最近学习了一些Go语言开发相关内容,但是苦于手头没有可以练手的项目,学的时候理解不清楚,学过容易忘. 结合之前组内分享时学到的Redis相关知识 ...

  8. golang开发:类库篇(二) Redis连接池的使用

    为什么要使用连接池 一个数据库服务器只拥有有限的连接资源,一旦所有的连接资源都在使用,那么其它需要连接的资源就只能等待释放连接资源.所以,在连接资源有限的情况下,提高单位时间的连接的使用效率,缩短连接 ...

  9. Swoole Redis 连接池的实现

    概述 这是关于 Swoole 入门学习的第九篇文章:Swoole Redis 连接池的实现. 第八篇:Swoole MySQL 连接池的实现 第七篇:Swoole RPC 的实现 第六篇:Swoole ...

随机推荐

  1. jQuery实现发送验证码30s倒计时,且刷新页面时有效

    在这里讲一讲这个案例的实现思路吧(个人见解)..核心思想:为防止页面刷新时倒计时失效的解决方案是:当每次刷新一次页面时都执行一个函数 即下面讲到的 setStyle() 函数.这个函数会根据当前的 c ...

  2. npm init,npm -y, npm install --save,npm install --save-dev

    npm init 初始化一个简单的package.json文件,执行该命令后终端会依次询问 name, version, description 等字段 npm init --yes|-y 作用同上, ...

  3. 逆向破解之160个CrackMe —— 026

    CrackMe —— 026 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  4. Windows Server 2008 R2

    Windows Server 2008 R2 Windows Server Core 微软因为向往 Linux 的纯命令行, 提出了 Windows Server Core 只能使用命令, 但是只要配 ...

  5. list 分批

    public class TestList { public static void main(String[] args){ List<Integer> list = new Array ...

  6. HTML(四)图像,表格

    HTML 图像 插入动图的语法和静态图的语法是一样的 HTML 图像- 图像标签( )和源属性(Src) 一个来自文件夹中的图像: 一个来自网站的图像: alt 属性用来为图像定义一串预备的可替换的文 ...

  7. P3225 [HNOI2012]矿场搭建 割点 tarjan 双联通分量

    https://www.luogu.org/problemnew/show/P3225 题意 煤矿工地可以看成是由隧道连接挖煤点组成的无向图.为安全起见,希望在工地发生事故时所有挖煤点的工人都能有一条 ...

  8. win10 无法安装/启用 .net framework 3.5

    有些程序依赖.net framework 3.5 win10可以在控制面板->程序和功能->启用或关闭windows功能 启用 但有时会报错 比如 0x800f0950 官方论坛的解决办法 ...

  9. Matlab2016b破解安装教程——超详细

    一.MATLAB是什么 MATLAB :是美国MathWorks公司出品的商业数学软件,用于算法开发.数据可视化.数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simuli ...

  10. Django-开放静态资源-获取请求携带的数据-pychram连接数据库-修改Django默认数据库-DjangoORM操作--表管理-记录管理-01

    目录 关于静态资源访问 为什么要配置静态文件才能获取静态资源 常见的静态文件种类 如何配置来开启访问权限 禁用浏览器缓存 django的自动重启机制(热启动) 静态文件接口动态解析 向服务器发送数据 ...