मैं कैसे hedis का उपयोग कर यूनिक्स डोमेन सॉकेट के माध्यम से एक redis सर्वर से कनेक्ट करने के लिए देख रहा हूँ, के रूप में hackage पेज में विज्ञापित:हास्केल में हेडिस का उपयोग करके यूनिक्स डोमेन सॉकेट के माध्यम से एक रेडिस सर्वर से कैसे कनेक्ट करें?
टीसीपी के माध्यम सेकनेक्ट या यूनिक्स डोमेन सॉकेट:
TCP सॉकेट हैं एक Redis सर्वर से कनेक्ट करने के लिए डिफ़ॉल्ट तरीका । एक ही मशीन पर किसी सर्वर से कनेक्शन के लिए, यूनिक्स डोमेन सॉकेट मानक टीसीपी कनेक्शन से अधिक प्रदर्शन प्रदान करते हैं।
ConnectInfo
के निर्माताओं, साथ ही defaultConnectInfo
से ऐसा प्रतीत होता है कि हम, क्योंकि यह टाइप PortID
जो UnixSocket
नाम के एक निर्माता है है connectPort
में भरना चाहिए। लेकिन यह केवल पता चलता UnixSocket
एक String
है, प्रारूप की जानकारी के बिना, आदि
तो connectPort
को भरने के लिए यूनिक्स डोमेन सॉकेट के माध्यम से कनेक्ट करने के लिए? धन्यवाद।
अद्यतन: मैं इसे बाहर की कोशिश की और पाया यह है कि मुश्किल नहीं है। नीचे मेरी हैलो दुनिया है।
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Trans
import Database.Redis
myConnectInfo :: ConnectInfo
myConnectInfo = defaultConnectInfo { connectPort = UnixSocket "/tmp/redis.sock" }
main :: IO()
main = do
conn <- connect myConnectInfo
runRedis conn $ do
set "hello" "hello"
set "world" "world"
hello <- get "hello"
world <- get "world"
liftIO $ print (hello,world)