我想知道如何使用 hedis 通过 Unix 域套接字连接到 Redis 服务器,正如 hackage 页面中所宣传的:
那么如何填写
更新:我尝试过了,发现并不难。以下是我的 Hello World。
从通过 TCP 或 Unix Domain Socket 连接:
TCP 套接字是连接 Redis 服务器的默认方式。对于连接同一台机器上的服务器,Unix 域套接字比标准的 TCP 连接提供更高的性能。
ConnectInfo
的构造函数以及defaultConnectInfo
来看,似乎我们应该填写connectPort
,因为它具有类型PortID
,其中有一个名为UnixSocket
的构造函数。但是它只显示UnixSocket
是一个字符串,没有详细说明格式等。那么如何填写
connectPort
才能通过 Unix 域套接字连接?谢谢。
更新:我尝试过了,发现并不难。以下是我的 Hello World。
{-# 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)