The hedis package
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.4 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 additional 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.3.2
The following commands got a Maybe added to their return type, to properly handle Redis returning nil-replies: brpoplpush, lindex, lpop, objectEncoding, randomkey, rpop, rpoplpush, spop, srandmember, zrank, zrevrank, zscore.
Updated dependencies on bytestring-lexing and stm.
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|
|Change log||None available|
|Dependencies||attoparsec (==0.10.*), base (==4.*), bytestring (==0.9.*), bytestring-lexing (==0.4.*), hedis, HUnit (==1.2.*), mtl (==2.*), network (==2.*), resource-pool (==0.2.1.*), stm (>=2.2 && <2.4), time [details]|
|Copyright||Copyright (c) 2011 Falko Peters|
|Source repository||head: git clone https://github.com/informatikr/hedis|
|Uploaded||Thu Mar 1 08:20:22 UTC 2012 by FalkoPeters|
|Distributions||Debian:0.6.9, FreeBSD:0.6.9, LTSHaskell:0.6.9, NixOS:0.6.9, Stackage:0.6.9|
|Downloads||7349 total (339 in last 30 days)|
|Status||Docs uploaded by user|
Build status unknown [no reports yet]
|benchmark||Build the benchmark executable.||Disabled||Automatic|
|test||Build the test suite.||Disabled||Automatic|
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
For package maintainers and hackage trustees