JedisSocketFactory.createSocket Redis ئاقىمىنى يۆتكەشكە تەييار بولغان ئۇلانغان socket نى قايتۇرۇشى كېرەك. Jedis 5.2.0 دا پروگرامما شۇ زاۋۇت ۋە ئۇنىڭ Redis خېرىدار سەپلىمىسىنى بۇ يەردە بېرىدۇ:

var jedis = new Jedis(socksSocketFactory, redisConfig);

socksSocketFactory redis.clients.jedis.JedisSocketFactory نى ئەمەلگە ئاشۇرىدۇ، redisConfig پروگراممىنىڭ JedisClientConfig ى. قۇرۇغۇچى ئىجرا بولغاندا ئۇلىنىشقا تەييار بولۇڭ: ئۇ دەرھال دەلىللەش ۋە باشقا Redis تەڭشەكلىرىنى ئېلىپ بارالايدۇ.

بىر socket نى قۇرۇلۇشتىن تاپشۇرۇشقىچە كۆزىتىڭ

دەلىللەنمىگەن SOCKS5 يولى ئۈچۈن، زاۋۇت java.net.Socket نى ئوچۇق Proxy.Type.SOCKS ۋاستىچىسى بىلەن قۇرۇپ، ئاندىن Redis خوجايىنى ۋە پورتىغا ئۇلىنالايدۇ. نىشاننى ھەل قىلىنمىغان قالدۇرۇڭ ئەگەر SOCKS مۇلازىمېتىرى خوجايىن نامىنى ھەل قىلىشقا تېگىشلىك بولسا.

ئۇلىنىش سىناقىنى چەكلەڭ ۋە بەلگىلەنگەن ئوقۇش ۋاقتىنى قوللىنىڭ. ئۇلىنىش مەغلۇپ بولسا، شۇ socket نى تاقاڭ ۋە JedisConnectionException نى مەلۇم قىلىڭ؛ زاۋۇت كۆرۈنمە يۈزى تەكشۈرۈلگەن IOException نى ئېلان قىلمايدۇ.

ئەگەر Redis TLS تەلەپ قىلسا، socket نى قايتۇرۇشتىن بۇرۇن TLS نى قۇرۇڭ ۋە دەلىللەڭ. ئايرىم بايراق زاۋۇت قايتۇرغان ھەرقانداق socket نى ئۆزگەرتىدۇ دەپ پەرەز قىلغىلى بولمايدۇ. گۆل ئۈچۈن، ئالماشتۇرۇش ئۇلىنىشلىرىنى ئۆز ئىچىگە ئالغان ھەر قېتىملىق زاۋۇت چاقىرىقىدا يېڭى socket بىلەن بۇ ھايات دەۋرىنى قايتىلاڭ.

ئومۇمىي ProxySelector دىكى HTTP تاللاش بۇ خىزمەتنىڭ ئالمىشا ئەمەلگە ئاشۇرۇلۇشى ئەمەس. Redis RESP نى ئۆز socket ى ئارقىلىق ئەۋەتىدۇ؛ شۇنىڭ بىلەن ئۇ HTTP بولۇپ قالمايدۇ ۋە CONNECT سۆھبىتىنى ئېلىپ بارمايدۇ.

مۇناسىۋەتلىك ماقالىلەر