serversession-backend-redis-1.0.3: Storage backend for serversession using Redis.

Safe HaskellNone
LanguageHaskell98

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

RedisSession sess => Storage (RedisStorage sess) Source #

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

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

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.

Minimal complete definition

toHash, fromHash

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

RedisSession SessionMap Source #

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