serversession-backend-redis
Safe HaskellNone
LanguageHaskell2010

Web.ServerSession.Backend.Redis

Description

Storage backend for serversession using Redis via hedis.

Synopsis

Documentation

data RedisStorage sess Source #

Session storage backend using Redis via the hedis package.

Constructors

RedisStorage 

Fields

Instances

Instances details
RedisSession sess => Storage (RedisStorage sess) Source #

We do not provide any ACID guarantees for different actions running inside the same TransactionM RedisStorage.

Instance details

Defined in Web.ServerSession.Backend.Redis.Internal

Associated Types

type SessionData (RedisStorage sess) 
Instance details

Defined in Web.ServerSession.Backend.Redis.Internal

type SessionData (RedisStorage sess) = sess
type TransactionM (RedisStorage sess) 
Instance details

Defined in Web.ServerSession.Backend.Redis.Internal

type SessionData (RedisStorage sess) Source # 
Instance details

Defined in Web.ServerSession.Backend.Redis.Internal

type SessionData (RedisStorage sess) = sess
type TransactionM (RedisStorage sess) Source # 
Instance details

Defined in Web.ServerSession.Backend.Redis.Internal

data RedisStorageException Source #

An exception thrown by the serversession-backend-redis package.

Constructors

ExpectedTxSuccess (TxResult ())

We expected TxSuccess but got something else.

ExpectedRight Reply

We expected Right from an Either Reply a but got Left.

class IsSessionData sess => RedisSession sess where Source #

Class for data types that can be used as session data for the Redis backend.

It should hold that

fromHash p . perm . toHash p  ===  id

for all list permutations perm :: [a] -> [a], where p :: Proxy sess.

Methods

toHash :: Proxy sess -> Decomposed sess -> [(ByteString, ByteString)] Source #

Transform a decomposed session into a Redis hash. Keys will be prepended with "data:" before being stored.

fromHash :: Proxy sess -> [(ByteString, ByteString)] -> Decomposed sess Source #

Parse back a Redis hash into session data.

Instances

Instances details
RedisSession SessionMap Source #

Assumes that keys are UTF-8 encoded when parsing (which is true if keys are always generated via toHash).

Instance details

Defined in Web.ServerSession.Backend.Redis.Internal