Safe Haskell | Safe-Infered |
---|
Network.Wai.Middleware.Cache.Redis
Contents
Description
Redis backend for Network.Wai.Middleware.Cache.
This backend uses Database.Redis.Pile for low-lewel operations.
cache (redisBackend -- use defaults, DB 0 and "myprefix" R.defaultConnectInfo 0 "myprefix" (const Nothing) -- no expiration (const ["mytag"]) -- simply one tag "mytag" (rawPathInfo) -- URL path as key lookupETag -- And find "If-None-Match" ) app -- our app
- redisBackend :: ConnectInfo -> Integer -> ByteString -> (Request -> Maybe Integer) -> (Request -> [ByteString]) -> (Request -> ByteString) -> (Request -> Maybe ByteString) -> (Request -> Bool) -> CacheBackend
- lookupETag :: Request -> Maybe ByteString
Cache backend
Arguments
:: ConnectInfo | Redis connection info. |
-> Integer | Redis DB. |
-> ByteString | Cache prefix for key and tags. See Database.Redis.Pile for details. |
-> (Request -> Maybe Integer) | TTL extraction. Use |
-> (Request -> [ByteString]) | Tags extraction. See Database.Redis.Pile for details. |
-> (Request -> ByteString) | Key extraction. |
-> (Request -> Maybe ByteString) |
|
-> (Request -> Bool) |
|
-> CacheBackend |
Redis backend for Network.Wai.Middleware.Cache.
This backend can't cache files. Use routing or catch CacheBackendError
Helpers
lookupETag :: Request -> Maybe ByteStringSource
Helper for extract If-None-Match
header from Request
.