1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
name: hedis
version: 0.6.2
synopsis:
Client library for the Redis datastore: supports full command set,
pipelining.
Description:
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 functions 'multi', 'exec' and 'discard' 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
type 'RedisType'.
.
* Minor improvements and fixes to the documentation.
.
license: BSD3
license-file: LICENSE
author: Falko Peters
maintainer: falko.peters@gmail.com
copyright: Copyright (c) 2011 Falko Peters
category: Database
build-type: Simple
cabal-version: >=1.8
homepage: https://github.com/informatikr/hedis
bug-reports: https://github.com/informatikr/hedis/issues
source-repository head
type: git
location: https://github.com/informatikr/hedis
library
hs-source-dirs: src
ghc-options: -Wall
ghc-prof-options: -auto-all
exposed-modules: Database.Redis
build-depends: 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
other-modules: Database.Redis.Core,
Database.Redis.ProtocolPipelining,
Database.Redis.Protocol,
Database.Redis.PubSub,
Database.Redis.Transactions,
Database.Redis.Types
Database.Redis.Commands,
Database.Redis.ManualCommands
benchmark hedis-benchmark
type: exitcode-stdio-1.0
main-is: benchmark/Benchmark.hs
build-depends:
base == 4.*,
mtl == 2.*,
hedis,
time >= 1.2
ghc-options: -O2 -Wall -rtsopts
ghc-prof-options: -auto-all
test-suite hedis-test
type: exitcode-stdio-1.0
main-is: test/Test.hs
build-depends:
base == 4.*,
bytestring >= 0.9 && < 0.11,
hedis,
HUnit == 1.2.*,
mtl == 2.*,
test-framework,
test-framework-hunit,
time
-- We use -O0 here, since GHC takes *very* long to compile so many constants
ghc-options: -O0 -Wall -rtsopts -fno-warn-unused-do-bind
ghc-prof-options: -auto-all
|