Liking cljdoc? Tell your friends :D

taoensso.carmine

Clojure Redis client & message queue.

Clojure Redis client & message queue.
raw docstring

taoensso.carmine.cluster

EXPERIMENTAL support for Redis Cluster atop Carmine.

EXPERIMENTAL support for Redis Cluster atop Carmine.
raw docstring

No vars found in this namespace.

taoensso.carmine.commands

Define an appropriate function for EVERY Redis command. This is done by parsing the official Redis command reference (JSON) which includes up-to-date docstrings, argument specs, etc. This awesome approach was adapted from labs-redis-clojure.

Define an appropriate function for EVERY Redis command. This is done by
parsing the official Redis command reference (JSON) which includes up-to-date
docstrings, argument specs, etc. This awesome approach was adapted from
labs-redis-clojure.
raw docstring

taoensso.carmine.connections

Handles socket connection lifecycle. Pool is implemented with Apache Commons pool. Originally adapted from redis-clojure.

Handles socket connection lifecycle. Pool is implemented with Apache Commons
pool. Originally adapted from redis-clojure.
raw docstring

taoensso.carmine.locks

Alpha - subject to change. Distributed lock implementation for Carmine based on work by Ronen Narkis and Josiah Carlson. Redis 2.6+.

Redis keys:

  • carmine:lock:<lock-name> -> ttl str, lock owner's UUID.

Ref. http://goo.gl/5UalQ for implementation details.

Alpha - subject to change.
Distributed lock implementation for Carmine based on work by Ronen Narkis
and Josiah Carlson. Redis 2.6+.

Redis keys:
  * carmine:lock:<lock-name> -> ttl str, lock owner's UUID.

Ref. http://goo.gl/5UalQ for implementation details.
raw docstring

taoensso.carmine.message-queue

Carmine-backed Clojure message queue. All heavy lifting by Redis. Message circle architecture used here is simple, reliable, and has reasonable throughput but at best mediocre latency.

Redis keys:

  • carmine:mq:<qname>:messages - hash, {mid mcontent}.
  • carmine:mq:<qname>:locks - hash, {mid lock-expiry-time}.
  • carmine:mq:<qname>:backoffs - hash, {mid backoff-expiry-time}.
  • carmine:mq:<qname>:nattempts - hash, {mid attempt-count}.
  • carmine:mq:<qname>:mid-circle - list, rotating list of mids.
  • carmine:mq:<qname>:done - set, awaiting gc, requeue, etc.
  • carmine:mq:<qname>:requeue - set, for allow-requeue? option.
  • carmine:mq:<qname>:eoq-backoff? - ttl flag, used for queue-wide (every-worker) polling backoff.
  • carmine:mq:<qname>:ndry-runs - int, number of times worker(s) have burnt through queue w/o work to do.

Ref. http://antirez.com/post/250 for basic implementation details.

Carmine-backed Clojure message queue. All heavy lifting by Redis.
Message circle architecture used here is simple, reliable, and has
reasonable throughput but at best mediocre latency.

Redis keys:
  * carmine:mq:<qname>:messages     - hash, {mid mcontent}.
  * carmine:mq:<qname>:locks        - hash, {mid lock-expiry-time}.
  * carmine:mq:<qname>:backoffs     - hash, {mid backoff-expiry-time}.
  * carmine:mq:<qname>:nattempts    - hash, {mid attempt-count}.
  * carmine:mq:<qname>:mid-circle   - list, rotating list of mids.
  * carmine:mq:<qname>:done         - set, awaiting gc, requeue, etc.
  * carmine:mq:<qname>:requeue      - set, for `allow-requeue?` option.
  * carmine:mq:<qname>:eoq-backoff? - ttl flag, used for queue-wide
                                      (every-worker) polling backoff.
  * carmine:mq:<qname>:ndry-runs    - int, number of times worker(s) have
                                      burnt through queue w/o work to do.

Ref. http://antirez.com/post/250 for basic implementation details.
raw docstring

taoensso.carmine.protocol

Facilities for actually communicating with Redis server using its request/response protocol. Originally adapted from Accession. Ref. http://redis.io/topics/protocol

Facilities for actually communicating with Redis server using its
request/response protocol. Originally adapted from Accession.
Ref. http://redis.io/topics/protocol
raw docstring

taoensso.carmine.ring

Carmine-backed Ring session store. Adapted from clj-redis-session.

Carmine-backed Ring session store. Adapted from clj-redis-session.
raw docstring

taoensso.carmine.tundra

Semi-automatic datastore layer for Carmine. It's like the magix. Use multiple Redis instances (recommended) or Redis databases for local key namespacing.

Redis keys:

  • carmine:tundra:evictable -> set, keys for which ensure-ks fetch failure should throw an error.
Semi-automatic datastore layer for Carmine. It's like the magix.
Use multiple Redis instances (recommended) or Redis databases for local key
namespacing.

Redis keys:
  * carmine:tundra:evictable -> set, keys for which `ensure-ks` fetch failure
                                should throw an error.
raw docstring

taoensso.carmine.tundra.carmine

Secondary Redis server DataStore implementation for Tundra.

Secondary Redis server DataStore implementation for Tundra.
raw docstring

No vars found in this namespace.

taoensso.carmine.tundra.disk

Simple disk-based DataStore implementation for Tundra.

Simple disk-based DataStore implementation for Tundra.
raw docstring

taoensso.carmine.tundra.faraday

Faraday (DynamoDB) DataStore implementation for Tundra.

Use AWS Data Pipeline to setup scheduled backups of DynamoDB table(s) to S3 (there is a template pipeline for exactly this purpose).

Faraday (DynamoDB) DataStore implementation for Tundra.

Use AWS Data Pipeline to setup scheduled backups of DynamoDB table(s) to S3
(there is a template pipeline for exactly this purpose).
raw docstring

taoensso.carmine.tundra.s3

AWS S3 (clj-aws-s3) DataStore implementation for Tundra.

AWS S3 (clj-aws-s3) DataStore implementation for Tundra.
raw docstring

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close