Client library for the Redis datastore: supports full command set, pipelining.
|Version on this page:||0.10.4|
|LTS Haskell 20.23:||0.15.2|
|Stackage Nightly 2023-05-28:||0.15.2|
|Latest on Hackage:||0.15.2|
Maintained by Kostiantyn Rybnikov
This version can be pinned in stack with:
Module documentation for 0.10.4
Depends on 18 packages(full list with versions):
async, base, bytestring, bytestring-lexing, deepseq, errors, HTTP, mtl, network, network-uri, resource-pool, scanner, stm, text, time, tls, unordered-containers, vector
Used by 2 packages in lts-12.14(full list with versions):
Redis is an open source, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. This library is a Haskell client for the Redis datastore. Compared to other Haskell client libraries it has some advantages:
- Compatibility with Latest Stable Redis:
- Hedis is intended to be used with the latest stable version of Redis (currently 3.2). Most redis commands (http://redis.io/commands) are available as haskell functions, although MONITOR and SYNC are intentionally omitted. Additionally, a low-level API is exposed that makes it easy for the library user to implement further commands, such as new commands from an experimental Redis version.
- Automatic Optimal Pipelining:
- Commands are pipelined (http://redis.io/topics/pipelining) as much as possible without any work by the user. See http://informatikr.com/2012/redis-pipelining.html for a technical explanation of automatic optimal pipelining.
- Enforced Pub/Sub semantics:
- When subscribed to the Redis Pub/Sub server (http://redis.io/topics/pubsub), clients are not allowed to issue commands other than subscribing to or unsubscribing from channels. This library uses the type system to enforce the correct behavior.
- Connect via TCP or Unix Domain Socket:
- TCP sockets are the default way to connect to a Redis server. For connections to a server on the same machine, Unix domain sockets offer higher performance than the standard TCP connection.
For detailed documentation, see the