hedis: Client library for the Redis datastore: supports full command set, pipelining.
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:
- Complete Redis 2.6 command set:
- All Redis commands (http://redis.io/commands) are available as haskell functions, except for the MONITOR and SYNC commands. 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 Database.Redis module.
- Changes since version 0.5.1
Changed return type of HDEL from Bool to Integer.
Some documentation updates.
- Changes since version 0.5
New commands: DUMP, RESTORE, BITOP, BITCOUNT.
Removed the dependency on stm.
Improved performance of Queued in long transactions.
Minor documentation updates.
- Changes since version 0.4.1
Added new Redis 2.6 commands, including Lua scripting support.
A transaction context is now created by using the
multiExec
function. The functionsmulti
,exec
anddiscard
are no longer available individually.Inside of a transaction, commands return their results wrapped in a composable future, called
Queued
.The
getType
command (the Redis TYPE command) now has a custom return typeRedisType
.Minor improvements and fixes to the documentation.
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 |
---|---|
Dependencies | attoparsec (==0.10.*), base (==4.*), BoundedChan (==1.0.*), bytestring (>=0.9 && <0.11), bytestring-lexing (==0.4.*), mtl (==2.*), network (==2.*), resource-pool (==0.2.*), time, vector (>=0.9 && <0.11) [details] |
License | BSD-3-Clause |
Copyright | Copyright (c) 2011 Falko Peters |
Author | Falko Peters |
Maintainer | falko.peters@gmail.com |
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 FalkoPeters at Sat Sep 29 10:42:55 UTC 2012 |
Distributions | Debian:0.6.9, FreeBSD:0.6.9, LTSHaskell:0.10.1, NixOS:0.10.1, Stackage:0.10.1, openSUSE:0.10.1 |
Downloads | 18390 total (115 in the last 30 days) |
Rating | 2.5 (votes: 3) [estimated by rule of succession] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] Hackage Matrix CI |
Downloads
- hedis-0.6.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)