Liking cljdoc? Tell your friends :D

taoensso.carmine

Clojure Redis client & message queue.

Clojure Redis client & message queue.
raw docstring

taoensso.carmine.commands

Macros to define an up-to-date, fully documented function for every Redis command as specified in the official json command spec.

Macros to define an up-to-date, fully documented function for every Redis
command as specified in the official json command spec.
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

Core facilities for communicating with Redis servers using the Redis request/response protocol, Ref. http://redis.io/topics/protocol.

Core facilities for communicating with Redis servers using the Redis
request/response protocol, Ref. http://redis.io/topics/protocol.
raw docstring

taoensso.carmine.tundra

Semi-automatic archival datastore layer for Carmine. Use multiple Redis instances (recommended) or Redis databases for local key namespacing.

Redis keys:

  • carmine:tundra:evictable - set, ks for which ensure-ks fail should throw
Semi-automatic archival datastore layer for Carmine.
Use multiple Redis instances (recommended) or Redis databases for local key
namespacing.

Redis keys:
  * carmine:tundra:evictable - set, ks for which `ensure-ks` fail should throw
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

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

× close