मैं एल्साक्टिकैच रेडिस नोड से कनेक्ट करने के लिए एक टोमकैट वेब ऐप में जेडिस का उपयोग कर रहा हूं। ऐप का उपयोग सैकड़ों उपयोगकर्ताओं द्वारा दिन के समय में किया जाता है। मुझे यकीन नहीं है कि यह सामान्य है या नहीं, लेकिन जब भी मैं मौजूदा कनेक्शन को क्लाउडवॉच मेट्रिक्स के साथ गिनता हूं, तो मुझे लगता है कि मौजूदा कनेक्शन गिरने के बिना बढ़ रहे हैं।वर्तमान कनेक्शन गिनती मेरे लोचदार दर्द में बढ़ती रहती है रेडिस नोड
यह मेरा Jedis पूल विन्यास है:
public static JedisPool getPool(){
if(pool == null){
JedisPoolConfig config = new JedisPoolConfig();
config.setMinIdle(5);
config.setMaxIdle(35);
config.setMaxTotal(1500);
config.setMaxWaitMillis(3000);
config.setTestOnBorrow(true);
config.setTestWhileIdle(true);
pool = new JedisPool(config, PropertiesManager.getInstance().getRedisServer());
}
return pool;
}
और यह है कि कैसे मैं हमेशा redis आदेश पर अमल करने के लिए पूल कनेक्शन का उपयोग करें:
Jedis jedis = JedisUtil.getPool().getResource();
try{
//Redis commands
}
catch(JedisException e){
e.printStackTrace();
throw e;
}finally{
if (jedis != null) JedisUtil.getPool().returnResource(jedis);
}
इस कॉन्फ़िगरेशन के साथ
, गिनती 200 से अधिक वर्तमान में है क्या मुझे ऐसा कुछ याद आ रहा है जिसे अप्रयुक्त कनेक्शन को त्यागना या मारना है? मैंने maxIdle को 35 पर सेट किया है और मुझे उम्मीद है कि यातायात बहुत कम होने पर गिनती 35 हो जाएगी लेकिन यह कभी नहीं हुआ।
वाह, बहुत बहुत धन्यवाद। मैं इसमें घंटों बिताएगा। मैंने अभी अपनी पहली एलिस्टी कैश इंस्टेंस की निगरानी की जांच की है और पिछले हफ्ते कनेक्शन में करीब रैखिक वृद्धि देखने के लिए चौंक गया था। मैं निश्चित रूप से सेटिंग्स को अद्यतन कर दूंगा। – Sam