hedis: Client library for the Redis datastore: supports full command set, pipelining.
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
Warnings:
- [option-optimize] 'ghc-options: -O0' is not needed. Use the --disable-optimization configure flag.
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 any version of Redis starting with 5.0 to 8.8. But pay attention to the Since annotation that tells when the command was introduced in Redis. The library does not provide static checks and unsupported commands will result in a runtime error. Most Redis commands (http://redis.io/commands) are available as Haskell functions, although
MONITORandSYNCare 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.
Cluster and multi-instance support: Hedis supports Redis Cluster and Redis Sentinel.
For detailed documentation, see the Database.Redis module.
[Skip to Readme]
Properties
| Versions | 0.1, 0.2, 0.3, 0.3.1, 0.3.2, 0.4, 0.4.1, 0.5, 0.5.1, 0.6, 0.6.1, 0.6.2, 0.6.3, 0.6.4, 0.6.5, 0.6.6, 0.6.7, 0.6.8, 0.6.9, 0.6.10, 0.7.0, 0.7.1, 0.7.2, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.9, 0.7.10, 0.8.0, 0.8.1, 0.8.2, 0.8.3, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.9.7, 0.9.8, 0.9.9, 0.9.10, 0.9.11, 0.9.12, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.10.4, 0.10.6, 0.10.8, 0.10.9, 0.10.10, 0.11.0, 0.11.1, 0.12.0, 0.12.1, 0.12.2, 0.12.3, 0.12.4, 0.12.5, 0.12.6, 0.12.7, 0.12.8, 0.12.9, 0.12.10, 0.12.11, 0.12.12, 0.12.13, 0.12.14, 0.12.15, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.14.2, 0.14.3, 0.14.4, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.16.1, 0.16.2 |
|---|---|
| Change log | CHANGELOG |
| Dependencies | async (>=2.1 && <2.3), base (>=4.18 && <5), bytestring (>=0.9 && <0.13), bytestring-lexing (>=0.5 && <0.6), containers (>=0.6 && <0.9), deepseq (<1.6), errors (<2.4), exceptions (>=0.10 && <0.11), hashable (<1.6), HTTP (<4001), http-types (>=0.12 && <0.13), mtl (>=2 && <3), network (>=2 && <3.3), network-uri (<2.7), resource-pool (>=0.5 && <0.6), scanner (>=0.2 && <0.4), semigroups (>=0.11 && <0.19), stm (<2.6), text (>=2.0 && <2.2), time (<1.17), tls (>=1.3 && <2.5), unliftio-core (<0.2.2), unordered-containers (>=0.2 && <0.3), vector (>=0.9 && <0.14) [details] |
| License | BSD-3-Clause |
| Copyright | Copyright (c) 2011 Falko Peters |
| Author | Falko Peters <falko.peters@gmail.com> |
| Maintainer | Kostiantyn Rybnikov <k-bx@k-bx.com>, Alexander Vershilov <alexander.vershilov@tweag.io> |
| Category | Database |
| Home page | https://github.com/informatikr/hedis |
| Bug tracker | https://github.com/informatikr/hedis/issues |
| Source repo | head: git clone https://github.com/informatikr/hedis |
| Uploaded | by AlexanderVershilov at 2026-06-18T10:04:40Z |
Modules
[Index] [Quick Jump]
- Database
- Database.Redis
- Database.Redis.Cluster
- Database.Redis.Commands
- Database.Redis.Connection
- Database.Redis.ConnectionContext
- Database.Redis.Core
- Database.Redis.Hooks
- Database.Redis.ManualCommands
- Database.Redis.ManualCommands.BF
- Database.Redis.ManualCommands.CF
- Database.Redis.ManualCommands.Cms
- Database.Redis.ManualCommands.FT
- Database.Redis.ManualCommands.Function
- Database.Redis.ManualCommands.JSON
- Database.Redis.ManualCommands.Tdigest
- Database.Redis.ManualCommands.Topk
- Database.Redis.ManualCommands.Ts
- Database.Redis.ManualCommands.Wait
- Database.Redis.Protocol
- Database.Redis.ProtocolPipelining
- Database.Redis.PubSub
- Database.Redis.Sentinel
- Database.Redis.Transactions
- Database.Redis.Types
- Database.Redis.URL
- Database.Redis
Flags
Manual Flags
| Name | Description | Default |
|---|---|---|
| dev | enable this for local development -Werror and profiling options | Disabled |
| cluster | enable it to run cluster tests if you have required setup | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- hedis-0.16.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees