persistent-redis-2.5.2.5: Backend for persistent library using Redis.

Safe HaskellNone
LanguageHaskell2010

Database.Persist.Redis

Synopsis

Documentation

class MonadRedis m => RedisCtx (m :: Type -> Type) (f :: Type -> Type) | m -> f #

This class captures the following behaviour: In a context m, a command will return its result wrapped in a "container" of type f.

Please refer to the Command Type Signatures section of this page for more information.

Minimal complete definition

returnDecode

Instances
RedisCtx RedisTx Queued 
Instance details

Defined in Database.Redis.Transactions

RedisCtx Redis (Either Reply) 
Instance details

Defined in Database.Redis.Core

data Redis a #

Context for normal command execution, outside of transactions. Use runRedis to run actions of this type.

In this context, each result is wrapped in an Either to account for the possibility of Redis returning an Error reply.

Instances
Monad Redis 
Instance details

Defined in Database.Redis.Core.Internal

Methods

(>>=) :: Redis a -> (a -> Redis b) -> Redis b #

(>>) :: Redis a -> Redis b -> Redis b #

return :: a -> Redis a #

fail :: String -> Redis a #

Functor Redis 
Instance details

Defined in Database.Redis.Core.Internal

Methods

fmap :: (a -> b) -> Redis a -> Redis b #

(<$) :: a -> Redis b -> Redis a #

MonadFail Redis 
Instance details

Defined in Database.Redis.Core.Internal

Methods

fail :: String -> Redis a #

Applicative Redis 
Instance details

Defined in Database.Redis.Core.Internal

Methods

pure :: a -> Redis a #

(<*>) :: Redis (a -> b) -> Redis a -> Redis b #

liftA2 :: (a -> b -> c) -> Redis a -> Redis b -> Redis c #

(*>) :: Redis a -> Redis b -> Redis b #

(<*) :: Redis a -> Redis b -> Redis a #

MonadIO Redis 
Instance details

Defined in Database.Redis.Core.Internal

Methods

liftIO :: IO a -> Redis a #

MonadRedis Redis 
Instance details

Defined in Database.Redis.Core

Methods

liftRedis :: Redis a -> Redis a #

RedisCtx Redis (Either Reply) 
Instance details

Defined in Database.Redis.Core

data Connection #

A threadsafe pool of network connections to a Redis server. Use the connect function to create one.

Instances
HasPersistBackend Connection Source # 
Instance details

Defined in Database.Persist.Redis.Store

Associated Types

type BaseBackend Connection :: Type #

PersistCore Connection Source # 
Instance details

Defined in Database.Persist.Redis.Store

Associated Types

data BackendKey Connection :: Type #

PersistStoreRead Connection Source # 
Instance details

Defined in Database.Persist.Redis.Store

Methods

get :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> ReaderT Connection m (Maybe record) #

getMany :: (MonadIO m, PersistRecordBackend record Connection) => [Key record] -> ReaderT Connection m (Map (Key record) record) #

PersistStoreWrite Connection Source # 
Instance details

Defined in Database.Persist.Redis.Store

Methods

insert :: (MonadIO m, PersistRecordBackend record Connection) => record -> ReaderT Connection m (Key record) #

insert_ :: (MonadIO m, PersistRecordBackend record Connection) => record -> ReaderT Connection m () #

insertMany :: (MonadIO m, PersistRecordBackend record Connection) => [record] -> ReaderT Connection m [Key record] #

insertMany_ :: (MonadIO m, PersistRecordBackend record Connection) => [record] -> ReaderT Connection m () #

insertEntityMany :: (MonadIO m, PersistRecordBackend record Connection) => [Entity record] -> ReaderT Connection m () #

insertKey :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> record -> ReaderT Connection m () #

repsert :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> record -> ReaderT Connection m () #

repsertMany :: (MonadIO m, PersistRecordBackend record Connection) => [(Key record, record)] -> ReaderT Connection m () #

replace :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> record -> ReaderT Connection m () #

delete :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> ReaderT Connection m () #

update :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> [Update record] -> ReaderT Connection m () #

updateGet :: (MonadIO m, PersistRecordBackend record Connection) => Key record -> [Update record] -> ReaderT Connection m record #

Eq (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

Ord (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

Read (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

Show (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

ToJSON (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

FromJSON (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

ToHttpApiData (BackendKey RedisBackend) Source # 
Instance details

Defined in Database.Persist.Redis.Store

FromHttpApiData (BackendKey RedisBackend) Source # 
Instance details

Defined in Database.Persist.Redis.Store

PathPiece (BackendKey RedisBackend) Source # 
Instance details

Defined in Database.Persist.Redis.Store

PersistFieldSql (BackendKey RedisBackend) Source # 
Instance details

Defined in Database.Persist.Redis.Store

PersistField (BackendKey Connection) Source # 
Instance details

Defined in Database.Persist.Redis.Store

type BaseBackend Connection Source # 
Instance details

Defined in Database.Persist.Redis.Store

newtype BackendKey Connection Source # 
Instance details

Defined in Database.Persist.Redis.Store

data PortID #

Instances
Eq PortID 
Instance details

Defined in Database.Redis.ProtocolPipelining

Methods

(==) :: PortID -> PortID -> Bool #

(/=) :: PortID -> PortID -> Bool #

Show PortID 
Instance details

Defined in Database.Redis.ProtocolPipelining

FromJSON PortID Source # 
Instance details

Defined in Database.Persist.Redis.Config

type RedisT = ReaderT Connection Source #

Monad reader transformer keeping Redis connection through out the work

withRedisConn :: MonadIO m => RedisConf -> (Connection -> m a) -> m a Source #

Run a connection reader function against a Redis configuration

thisConnection :: Monad m => RedisT m Connection Source #

Extracts connection from RedisT monad transformer

execRedisT :: MonadIO m => RedisTx (Queued a) -> RedisT m a Source #

Execute Redis transaction inside RedisT monad transformer