Sto cercando come connettersi a un server Redis via socket di dominio Unix utilizzando hedis, come pubblicizzato nella pagina hackage:Come connettersi a un server redis tramite socket di dominio Unix usando hedis in Haskell?
Collegare tramite TCP o Unix Domain Socket:
socket TCP sono il modo predefinito per connettersi a un server Redis. Per le connessioni a un server sulla stessa macchina , i socket di dominio Unix offrono prestazioni superiori rispetto alla connessione TCP standard .
Dai costruttori di ConnectInfo
, così come il defaultConnectInfo
, sembra che si debba compilare il connectPort
, dal momento che è di tipo PortID
che ha un costruttore di nome UnixSocket
. Ma mostra soloè un String
, senza dettagli di formato, ecc.
Quindi, come compilare il connectPort
per connettersi tramite socket di dominio Unix? Grazie.
UPDATE: ho provato e l'ho trovato non è così difficile. Di seguito è il mio mondo ciao.
{-# 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)