ExRedisPool v0.1.0 ExRedisPool

Summary

Functions

Start a new redis connection pool within ExRedisPools own supervision tree

Run a synchronous redis query

Like q/3 except returns the result directly or raises an error

Run an asynchronous redis query

Run a synchronous query pipeline

Like qp/3 except returns the result directly or raises an error

Run an asynchronous query pipeline

Callback implementation for c::application.start/2

Start a new redis connection pool client linked to the caller

Types

pool :: atom | pid
reason :: binary
reconnect_sleep :: :no_reconnect | integer
redis_pool_option ::
  {:host, binary} |
  {:port, integer} |
  {:database, binary} |
  {:password, binary} |
  {:reconnect_sleep, reconnect_sleep} |
  {:sync_pool_size, integer} |
  {:sync_pool_max_overflow, integer} |
  {:async_pool_size, integer} |
  {:async_pool_max_overflow, integer}
redis_query :: [binary]
redis_result :: binary | :undefined

Functions

new()

Specs

new :: {:ok, pool} | {:error, reason}
new(opts)

Specs

new([redis_pool_option]) ::
  {:ok, pool} |
  {:error, reason}
new(pool) :: {:ok, pool} | {:error, reason}
new(pool, opts)

Specs

new(pool, [redis_pool_option]) ::
  {:ok, pool} |
  {:error, reason}

Start a new redis connection pool within ExRedisPools own supervision tree..

q(pool, query, timeout \\ 5000)

Specs

q(pool, redis_query, integer) ::
  {:ok, redis_result} |
  {:error, reason}

Run a synchronous redis query.

q!(pool, query, timeout \\ 5000)

Specs

q!(pool, redis_query, integer) ::
  redis_result |
  no_return

Like q/3 except returns the result directly or raises an error.

q_noreply(pool, query)

Specs

q_noreply(pool, redis_query) ::
  :ok |
  {:error, reason}

Run an asynchronous redis query.

This function takes the requested query and queues it in a separate pool from the synchronous queries so bulk asynchronous queries do not degrade quality of service for synchronous queries.

qp(pool, query_pipeline, timeout \\ 5000)

Specs

qp(atom, [redis_query], integer) ::
  [{:ok, redis_result}] |
  {:error, reason}

Run a synchronous query pipeline.

qp!(pool, query_pipeline, timeout \\ 5000)

Specs

qp!(pool, [redis_query], integer) ::
  [redis_result] |
  no_return

Like qp/3 except returns the result directly or raises an error.

qp_noreply(pool, query_pipeline)

Specs

qp_noreply(pool, [redis_query]) ::
  :ok |
  {:error, reason}

Run an asynchronous query pipeline.

This function takes the requested query pipeline and queues it in a separate pool from the synchronous query pipelines so bulk asynchronous query pipelines do not degrade quality of service for synchronous query pipelines.

start(type, args)

Callback implementation for c::application.start/2.

start_client()

Specs

start_client :: {:ok, pool} | {:error, reason}
start_client(opts)

Specs

start_client([redis_pool_option]) ::
  {:ok, pool} |
  {:error, reason}
start_client(pool) :: {:ok, pool} | {:error, reason}
start_client(pool, opts)

Specs

start_client(pool, [redis_pool_option]) ::
  {:ok, pool} |
  {:error, reason}

Start a new redis connection pool client linked to the caller.

stop_client(pool, timeout \\ 5000)