2013-01-31 12 views
10

मैं स्कैला के लिए रेडिस क्लाइंट कार्यान्वयन की तलाश में हूं। अक्का फ्यूचर्स का उपयोग करते हुए क्लाइंट एसिंक और गैर-अवरुद्ध होना चाहिए। अधिक मैं क्या पाया या कम उपयोगी:स्कैला: अक्का फ्यूचर्स के साथ रेडिस क्लाइंट कार्यान्वयन

  1. https://github.com/derekjw/fyrie-redis
  2. https://github.com/debasishg/scala-redis

लेकिन उन दोनों को उनके मुद्दों की है। सबसे पहले अक्का के पुराने संस्करण का उपयोग करता है, जो संकलन के मुद्दों का कारण बनता है, दूसरा दूसरा स्कैला.एक्टर्स का उपयोग करता है। फ्यूचर्स। भविष्य के बजाय अक्का फ्यूचर्स। मैंने कुछ महीने पहले एक वार्तालाप देखा: groups.google.com/forum/#!msg/akka-user/EDKA2aTigho/_wWcNIz2O3wJ

लेकिन मुझे कोई समाधान नहीं मिला। किसी के पास कुछ समान था?

आपके उत्तरों के लिए धन्यवाद।

उत्तर

16

यहाँ कुछ नया स्काला Redis पुस्तकालयों कि प्रतिक्रियाशील हैं (async + गैर-अवरुद्ध):
https://github.com/debasishg/scala-redis-nb
https://github.com/etaty/rediscala
https://github.com/Livestream/scredis

+0

महान काम, धन्यवाद! मुझे यकीन है कि लोग इसे उपयोगी पाएंगे। – psisoyev

+0

एक और जोड़ा गया। –

+0

मैं हाइबरनेट-रेडिस 2 कैश प्रदाता के लिए रेडिसला का उपयोग करता हूं – Debop

2

scala-redis वर्तमान में सबसे अच्छा विकल्प है। हालांकि यह एक अवरुद्ध ग्राहक है, एसिंक्रोनस पैटर्न के कुछ उदाहरण given in the README file हैं। यह भी ध्यान रखें कि पुस्तकालय स्वयं scala.actors.Futures.future का उपयोग नहीं करता है; spec (टेस्ट कोड) और रीडमे में केवल डेमो कोड करता है।

यदि आपको केवल रेडिस में कुछ चीजें स्टोर करने की आवश्यकता है, तो यह भी roll your own Redis client with a Spray.io IOBridge पर संभव है।

एक sidenote पर: Akka futures are already in Scala 2.10.0 और scala.actorsis deprecated as of Scala 2.11.0। मुझे यकीन नहीं है कि स्कैला-रेडिस scala.actors का उपयोग क्यों कर रहा है, भले ही यह अक्का और स्कैला 2.10.0 पर निर्भर करता है।

1

एक गैर-अवरुद्ध क्लाइंट है जो फाइनल-रेडिस मॉड्यूल के रूप में उपलब्ध वायदा देता है। उदाहरण का उपयोग यहां: https://github.com/twitter/finagle/blob/master/finagle-example/src/main/scala/com/twitter/finagle/example/redis/RedisClient.scala

एक चेतावनी: यह वर्तमान में ट्विटर फ्यूचर्स लौटाता है। आप अक्का भविष्य के लिए वादा पूरा करने के लिए इसका उपयोग कर सकते हैं; इसका एक उदाहरण ब्लेक के नेस्काला टॉक के लिए स्लाइड में पहले कोड उदाहरण पर है: http://nescala.org/#t-8378162

ट्विटर पर लोग कहते हैं कि उनके पास ट्विटर फ्यूचर्स 2.10 पर जाने के बाद एपीआई संगतता के लिए 2.10 भविष्य की विशेषता को लागू करेगा।

स्कैला-रेडिस के लेखक स्प्रे-आईओ का उपयोग करने के लिए इसे पोर्ट करने में रुचि रखते थे, इस मामले में यह गैर-अवरुद्ध होगा।

+0

काफी दिलचस्प। मैं [स्कैला से रेडिस का उपयोग करके मूल्यांकन कर रहा था] (http://keithkim.org/blog/redis-clients-for-scala/) और अक्का फ्यूचर्स और/या अक्का आईओ का उपयोग करके उच्च स्मृति खपत पाई। – karmakaze

1

वहाँ भी scredis जो एक पूर्ण, गैर अवरुद्ध और प्रज्वलन है अक्का आईओ के शीर्ष पर बनाया गया तेजी से स्कैला रेडिस क्लाइंट। इसका उपयोग लाइवस्ट्रीम में उत्पादन में बड़े पैमाने पर किया जाता है।

संबंधित मुद्दे