The memcache package

[Tags: bsd3, library]

A client library for a memcached cluster.

It supports the binary memcached protocol and SASL authentication. No support for the ASCII protocol is provided. It supports connecting to a single, or a cluster of memcached servers. When connecting to a cluser, consistent hashing is used for routing requests to the appropriate server.

Complete coverage of the memcached protocol is provided except for multi-get and other pipelined operations.

Basic usage is:

 import qualified Database.Memcache.Client as M

 mc <- M.newClient [M.ServerSpec "localhost" 11211 M.NoAuth] M.defaultOptions
 M.set mc "key" "value" 0 0
 v <- M.get mc "key"

You should only need to import Database.Memcache.Client, but for now other modules are exposed.


[Skip to ReadMe]

Properties

Versions0.0.0, 0.0.1, 0.1.0.0
Change logCHANGELOG.md
Dependenciesbase (<5), binary (>=0.6.2.0), blaze-builder (>=0.3.1.0), bytestring (>=0.9.2.1), hashable (>=1.2.0.3), network (>=2.4), resource-pool (>=0.2.1.0), time (>=1.4), vector (>=0.7), vector-algorithms (>=0.5) [details]
LicenseBSD3
Copyright2015 David Terei.
AuthorDavid Terei <code@davidterei.com>
MaintainerDavid Terei <code@davidterei.com>
CategoryDatabase
Home pagehttps://github.com/dterei/memcache-hs
Bug trackerhttps://github.com/dterei/memcache-hs/issues
Source repositorythis: git clone https://github.com/dterei/memcache-hs.git(tag 0.1.0.0)
head: git clone https://github.com/dterei/memcache-hs.git
UploadedTue May 19 07:22:38 UTC 2015 by DavidTerei
UpdatedTue May 19 07:24:24 UTC 2015 by DavidTerei to revision 1
DistributionsNixOS:0.1.0.0
Downloads349 total (39 in last 30 days)
Votes
0 []
StatusDocs available [build log]
Last success reported on 2015-05-23 [all 1 reports]

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for memcache-0.1.0.0

memcache: Haskell Memcache Client

Hackage version Build Status

A client library for a memcached cluster.

It supports the binary memcached protocol and SASL authentication. No support for the ASCII protocol is provided. It supports connecting to a single, or a cluster of memcached servers. When connecting to a cluser, consistent hashing is used for routing requests to the appropriate server.

Complete coverage of the memcached protocol is provided except for multi-get and other pipelined operations.

Licensing

This library is BSD-licensed.

Tools

This library also includes a few tools for manipulating and experimenting with memcached servers.

Architecture Notes

We're relying on Data.Pool for thread safety right now, which is fine but is a blocking API in that when we grab a socket (withResource) we are blocking any other requests being sent over that connection until we get a response. That is, we can't pipeline.

Now, use of multiple connections through the pool abstraction is an easy way to solve this and perhaps the right approach. But, could also implement own pool abstraction that allowed pipelining. This wouldn't be a pool abstraction so much as just round-robbining over multiple connections for performance.

Either way, a pool is fine for now.

Other clients

Get involved!

We are happy to receive bug reports, fixes, documentation enhancements, and other improvements.

Please report bugs via the github issue tracker.

Master git repository:

Authors

This library is written and maintained by David Terei, code@davidterei.com.