~s      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ;Low-level representation of replies from the Redis server.          All Redis commands run in the  monad. DA threadsafe pool of network connections to a Redis server. Use the  connect function to create one. 7Interact with a Redis datastore specified by the given .  Each call of % takes a network connection from the   pool and runs the given  action. Calls to  may thus block 2 while all connections from the pool are in use. Internal version of  that does not depend on the  > abstraction. Used to run the AUTH command when connecting. , !"#$%&'(key )key *key +key pivot value ,key pivot value -key .cnt /01key start stop 2key start stop 3key start stop 4key start stop 5key min max 6key min max 7key min max offset count 8key min max offset count 9key max min :key max min ;key max min offset count <key max min offset count =>key  destination ?key key  destination @ destination keys A destination weighted keys B destination keys C destination weighted keys cmd  destination keys weights , !"#$%&'()*+,-./0123456789:;<=>?@ABC,  !"#$%&'"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKPost a message to a channel ( http://redis.io/commands/publish). channel message L4Listen for messages published to the given channels  ( "http://redis.io/commands/subscribe). channel M:Stop listening for messages posted to the given channels  ( $http://redis.io/commands/unsubscribe). channel NGListen for messages published to channels matching the given patterns  ( #http://redis.io/commands/psubscribe). pattern OLStop listening for messages posted to channels matching the given patterns  ( %http://redis.io/commands/punsubscribe). pattern P6Listens to published messages on subscribed channels. BThe given callback function is called for each received message. 5 Subscription changes are triggered by the returned J . To keep 3 subscriptions unchanged, the callback can return . Example: Subscribe to the "news" channel indefinitely.    pubSub (subscribe ["news"]) $ \ msg -> do  putStrLn $ " Message from " ++ show (msgChannel msg)  return mempty +Example: Receive a single message from the "chat" channel.   pubSub (subscribe ["chat"]) $ \ msg -> do  putStrLn $ " Message from " ++ show (msgChannel msg)  return $ unsubscribe ["chat"] Initial subscriptions. Callback function. DEFGHIJKLMNOP DGEHIFHIEFGHIJKLMNOPjQRkey field Skey field  increment TUkey Vkey member Wsource  destination timeout Xkey  increment Ykey Zkey offset value [key offset value \]message ^key timeout _ destination key `key db abkey start end ckey member dkey ekey offset fkey min max gh keyValue ikey member jkkey  fieldValue lkey mkey  increment member nkey o keyValue psource  destination qkey rkey seconds value s destination key tkey timeout ukey vwkey xkey field ykey start stop zkey seconds {|key }key  decrement ~key key  scoreMember pattern host port key key value key value key value key member key min max key key key value key key field value  parameter key key key key member key key newkey key index key field  password  destination key  parameter value key newkey key  timestamp key key count value key key key start stop key value key index value key field key source  destination member key value key start stop key member key value key index key member key key field value key value key key  !"#$%&'()*+,-./0123456789:;<=>?@ABCQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~jQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ /Information for connnecting to a Redis server. !It is recommended to not use the  data constructor directly.  Instead use ' and update it with record syntax. For N example to connect to a password protected Redis server running on localhost $ and listening to the default port:   myConnectInfo :: ConnectInfo 8 myConnectInfo = defaultConnectInfo {connectAuth = Just "secret"} 0When the server is protected by a password, set  to  ? the password. Each connection will then authenticate by the   command. DMaximum number of connections to keep open. The smallest acceptable  value is 1. @Amount of time for which an unused connection is kept open. The - smallest acceptable value is 0.5 seconds. $Default information for connecting:   connectHost = " localhost" @ connectPort = PortNumber 6379 -- Redis default port 9 connectAuth = Nothing -- No password B connectMaxConnections = 50 -- Up to 50 connections F connectMaxIdleTime = 30 -- Keep open for 30 seconds Opens a + to a Redis server designated by the given  .  Read all the 2s from the Handle and return them as a lazy list. 'The actual reading and parsing of each  is deferred until the spine & of the list is evaluated up to that . Each  is cons' d in front 6 of the (unevaluated) list of all remaining replies.  only evaluates it'%s result once, making this function  thread-safe. 6 as implemented by GHC is also threadsafe, it is safe  to call  here. The list constructor '(:)' must be called from  within; unsafeInterleaveIO, to keep the replies in correct order.    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~]gUz`(*)!"#$%&'= ?>-RuSqxk^tW+,|wyYpjTvQ{\./0l_nicsfmBC125678349:;<V@A}ebXoh[rZ~adKPDGEHIFHIJLMNO        !"#$%&'()*+,-../0123456789:;<=>?@ABCDEFGHIJKLMNOPQRPSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     #U  hedis-0.3Database.RedisDatabase.Redis.RequestDatabase.Redis.ReplyDatabase.Redis.TypesDatabase.Redis.CoreDatabase.Redis.ManualCommandsDatabase.Redis.PubSubDatabase.Redis.CommandsDatabase.Redis.Connectionnetwork-2.3.0.8Network PortNumber UnixSocketPortIDNetwork.SocketHostNameReply MultiBulkBulkIntegerError SingleLineStatusQueuedZSetSetListHashStringNonePongOk RedisResultdecodeRedis ConnectionrunRedis sendRequest AggregateMaxMinSum SortOrderDescAscSortOptssortBy sortLimitsortGet sortOrder sortAlphaobjectRefcountobjectIdletimeobjectEncoding linsertBefore linsertAftergetType slowlogGet slowlogLen slowlogResetzrangezrangeWithscores zrevrangezrevrangeWithscores zrangebyscorezrangebyscoreWithscoreszrangebyscoreLimitzrangebyscoreWithscoresLimitzrevrangebyscorezrevrangebyscoreWithscoreszrevrangebyscoreLimitzrevrangebyscoreWithscoresLimitdefaultSortOpts sortStoresort zunionstorezunionstoreWeights zinterstorezinterstoreWeightsMessagePMessage msgPattern msgChannel msgMessagePubSubpublish subscribe unsubscribe psubscribe punsubscribepubSubflushallhdelhincrbyconfigResetstatdelzrevrank brpoplpushincrbyrpopsetrangesetbitsaveechoblpop sdiffstoremovemultigetrangesremwatchgetbitzcountquitmsetnx sismember bgrewriteaofhmsetscardzincrbysintermset rpoplpushhlensetex sunionstorebrpophgetalldbsizelpophmgetlrangeexpirelastsavellendecrbyexecmgetzaddkeysbgsaveslaveof debugObjectgetsetrpushxsetnxzrankzremrangebyscorettlhkeysrpush randomkeyspophsetnx configGethvalsexistssunionzremsmemberspingrenamedecrselecthexistsauth sinterstoreshutdown configSetrenamenxexpireatgetlremincrzcardltrimappendlsetinfohgetsdiffsmoveflushdbsetzremrangebyranksaddlpushlindexzscorestrlenunwatchhsetlpushxdiscard debugSegfault srandmemberpersist ConnectInfoConnInfo connectHost connectPort connectAuthconnectMaxConnectionsconnectMaxIdleTimeConnectionLostExceptionConnectionLostdefaultConnectInfoconnect renderRequest renderArgshowBScrlfreply singleLineerrorintegerbulk multiBulk prefixinglineRedisArgencodeRedisEnvConn askHandle askRepliesrunRedisInternalsendrecv sortInternalzstoreInternalbase Data.Monoidmempty pubSubAction decodeMsgerrMsg Data.MaybeJust hGetRepliesGHC.IOunsafeInterleaveIOGHC.IO.Handle.TypesHandle GHC.IO.HandlehFlush