szukam sposobu łączenia się z serwerem Redis poprzez gniazdo domeny Unix przy użyciu hedis, jak reklamowane na stronie hackage:Jak połączyć się z serwerem redis przez gniazdo domeny Unix przy użyciu hedis w Haskell?
Połącz przez TCP lub Unix domeny Gniazdo:
gniazda TCP są domyślny sposób , aby połączyć się z serwerem Redis. W przypadku połączeń z serwerem na tym samym komputerze gniazda domeny uniksowej oferują wyższą wydajność niż standardowe połączenie TCP .
Od konstruktorów ConnectInfo
, jak również defaultConnectInfo
, wydaje się, że należy wypełnić connectPort
, ponieważ ma typ PortID
który ma konstruktora o nazwie UnixSocket
. Ale pokazuje tylko, że UnixSocket
jest String
, bez szczegółów formatu itp.
Jak wypełnić connectPort
, aby połączyć się przez gniazdo domeny Unix? Dzięki.
UPDATE: Próbowałem go i okazało się, że nie jest to takie trudne. Poniżej jest mój cześć świat.
{-# 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)