^R      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Infered;Low-level representation of replies from the Redis server.    None    None /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. !DA threadsafe pool of network connections to a Redis server. Use the  ( function to create one. #:This class captures the following behaviour: In a context m , a command  will return it's result wrapped in a " container" of type f. JPlease refer to the Command Type Signatures section of this page for more  information. $CContext for normal command execution, outside of transactions. Use  % to run actions of this type. .In this context, each result is wrapped in an  to account for the $ possibility of Redis returning an   reply. %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. &&5 can be used to implement commands from experimental G versions of Redis. An example of how to implement a command is given  below.   -- |Redis DEBUG OBJECT command  debugObject :: ByteString -> $ (Either  ByteString)  debugObject key = & ["DEBUG", "OBJECT", key] '$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  .  !"#$%&'() password  !"#$%&'() !"#$%&'() Safe-Infered1Options for the U command. 8!A single entry from the slowlog. ::A unique progressive identifier for every slow log entry. ;>The unix timestamp at which the logged command was processed. <>The amount of time needed for its execution, in microseconds. =The command and it' s arguments. SRedis default 12. Equivalent to omitting all optional parameters.   SortOpts 1 { sortBy = Nothing -- omit the BY option 7 , sortLimit = (0,-1) -- return entire collection  , sortGet = [] -- omit the GET option 6 , sortOrder = Asc -- sort in ascending order F , sortAlpha = False -- sort numerically, not lexicographically  } 5*+,-./0123456789:;<=>key ?key @key Akey pivot value Bkey pivot value Ckey Dcnt EFGkey start stop Hkey start stop Ikey start stop Jkey start stop Kkey min max Lkey min max Mkey min max offset count Nkey min max offset count Okey max min Pkey max min Qkey max min offset count Rkey max min offset count STkey  destination Ukey key  destination V destination keys W destination weighted keys X destination keys Y destination weighted keys cmd  destination keys weights Zscript keys args [script keys args 4*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[%*-,+.0/123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ Safe-Inferedb'Encapsulates subscription changes. Use d, e,  f, g or  to construct a value. Combine  values by using the  interface, i.e.  and . cPost a message to a channel ( http://redis.io/commands/publish). d4Listen for messages published to the given channels  ( "http://redis.io/commands/subscribe). e9Stop listening for messages posted to the given channels  ( $http://redis.io/commands/unsubscribe). fGListen for messages published to channels matching the given patterns  ( #http://redis.io/commands/psubscribe). gLStop listening for messages posted to channels matching the given patterns  ( %http://redis.io/commands/punsubscribe). hKListens to published messages on subscribed channels and channels matching G the subscribed patterns. For documentation on the semantics of Redis  Pub/Sub see  http://redis.io/topics/pubsub. BThe given callback function is called for each received message. 5 Subscription changes are triggered by the returned b . 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"] \]^_`abcchannel message dchannel echannel fpattern gpattern hInitial subscriptions. Callback function.   \]^_`abcdefgh\_]`a^`abcdefgh  None i Result of a q transaction. j)At least one of the commands returned an   reply. k&Transaction aborted due to an earlier o command. lETransaction completed successfully. The wrapped value corresponds to  the m value returned from the q argument action. mA mC value represents the result of a command inside a transaction. It  is a proxy object for the actual& result, which will only be available  after returning from a q transaction. m( values are composable by utilizing the  ,   or    interfaces. nCommand-context inside of MULTI/EXEC transactions. Use q to run  actions of this type. In the n context, all commands return a m value. It is a  proxy object for the actual, result, which will only be available after  finishing the transaction. o8Watch the given keys to determine execution of the MULTI/ EXEC block  ( http://redis.io/commands/watch). pForget about all watched keys ( http://redis.io/commands/unwatch). qIRun commands inside a transaction. For documentation on the semantics of  Redis transaction see  #http://redis.io/topics/transactions. LInside the transaction block, command functions return their result wrapped  in a m. The m) result is a proxy object for the actual  command'-s result, which will only be available after EXECing the  transaction. Example usage (note how m 's   instance is used to ' combine the two individual results):   runRedis conn $ do  set "hello" "hello"  set "world" "world"  helloworld <- q $ do  hello <- get "hello"  world <- get "world"  return $ (,) <$> hello <*> world  liftIO (print helloworld) ijklmnokey pq ijklmnopq ilkjmnopq Safe-Inferednrskey field tkey field  increment uvkey field  increment wxykey zkey member {source  destination timeout |key  increment }key ~key offset value key offset value key  increment message key timeout  destination key key db script key start end key member key offset key min max  keyValue key member key  fieldValue key key  increment member key script  keyValue key  milliseconds value source  destination key key seconds value  destination key key timeout key key  milliseconds key key field key start stop key 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 key field value  parameter key key key key member key key newkey key index key field  destination key  parameter value key newkey key  timestamp key key count value key key millisecondsTimestamp 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:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[rstuvwxyz{|}~nrstuvwxyz{|}~ Safe-Infered  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$%#"!(')y>@?1234567S.0/UT  Cstv{AB}Z[xwr89:;<=DEFu*-,+XYGHKLMNIJOPQRzVW|~opqmilkjnch\_]`a^`abdefg&        !"#$%&'()*+,-./0123456789:;<<=>?@ABBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgehijklmnopqrstuvwxyz{|}~         !" hedis-0.5Database.RedisDatabase.Redis.ProtocolDatabase.Redis.TypesDatabase.Redis.CoreDatabase.Redis.ManualCommandsDatabase.Redis.PubSubDatabase.Redis.TransactionsDatabase.Redis.Commandsnetwork-2.3.0.13NetworkService PortNumber UnixSocketPortIDNetwork.SocketHostNameReply MultiBulkBulkIntegerError SingleLine RedisTypeZSetSetListHashStringNoneStatusPongOk RedisResultdecode ConnectInfoConnInfo connectHost connectPort connectAuthconnectMaxConnectionsconnectMaxIdleTimeConnectionLostExceptionConnectionLost Connection MonadRedisRedisCtxRedisrunRedis sendRequestdefaultConnectInfoconnectauth AggregateMaxMinSum SortOrderDescAscSortOptssortBy sortLimitsortGet sortOrder sortAlphaSlowlog slowlogIdslowlogTimestamp slowlogMicros slowlogCmdobjectRefcountobjectIdletimeobjectEncoding linsertBefore linsertAftergetType slowlogGet slowlogLen slowlogResetzrangezrangeWithscores zrevrangezrevrangeWithscores zrangebyscorezrangebyscoreWithscoreszrangebyscoreLimitzrangebyscoreWithscoresLimitzrevrangebyscorezrevrangebyscoreWithscoreszrevrangebyscoreLimitzrevrangebyscoreWithscoresLimitdefaultSortOpts sortStoresort zunionstorezunionstoreWeights zinterstorezinterstoreWeightsevalevalshaMessagePMessage msgPattern msgChannel msgMessagePubSubpublish subscribe unsubscribe psubscribe punsubscribepubSubTxResultTxError TxAborted TxSuccessQueuedRedisTxwatchunwatch multiExecflushallhdelhincrbytime hincrbyfloatconfigResetstat scriptKilldelzrevrank brpoplpushincrbyrpopsetrangesetbit incrbyfloatsaveechoblpop sdiffstoremove scriptLoadgetrangesremgetbitzcountquitmsetnx sismember bgrewriteaofhmsetscardzincrbysinter scriptExistsmsetpsetex rpoplpushhlensetex sunionstorebrpophgetallpexpiredbsizelpophmgetlrangeexpire scriptFlushlastsavellendecrbymgetzaddkeysbgsaveslaveof debugObjectgetsetrpushxsetnxzrankzremrangebyscorettlhkeysrpush randomkeypttlspophsetnx configGethvalsexistssunionzremsmemberspingrenamedecrselecthexists sinterstore configSetrenamenxexpireatgetlremincr pexpireatzcardltrimappendlsetinfohgetsdiffsmoveflushdbsetzremrangebyranksaddlpushlindexzscorestrlenhsetlpushx debugSegfault srandmemberpersist renderRequestreplyRedisArgencode$fRedisResult[]$fRedisResult(,)$fRedisResult[]0$fRedisResultMaybe$fRedisResultBool$fRedisResultRedisType$fRedisResultStatus$fRedisResultDouble$fRedisResultInt$fRedisResultInteger$fRedisResultByteString$fRedisResultReply$fRedisArgDouble$fRedisArgInteger$fRedisArgByteStringbase Data.MaybeJust Data.EitherEitherConn liftRedis returnDecoderecvsend"$fExceptionConnectionLostException$fMonadRedisRedis$fRedisCtxRedisEither sortInternalzstoreInternal$fRedisResultSlowlog Data.MonoidmemptyMonoidmappendmconcat $fCommandCmd $fCommandCmd0 $fCommandCmd1 $fCommandCmd2 $fMonoidCmd $fMonoidCmd0$fMonoidPubSubGHC.BaseFunctorControl.Applicative ApplicativeMonad$fMonoidQueued $fMonadQueued$fApplicativeQueued$fFunctorQueued$fRedisCtxRedisTxQueued$fMonadRedisRedisTx