memcachir v3.2.1 Memcachir

Module with a friendly API for memcached servers.

It provides connection pooling, and cluster support.

Example

{:ok} = Memcachir.set("hello", "world")
{:ok, "world"} = Memcachir.get("hello")

Link to this section Summary

Functions

Removes the item with the specified key. Returns {:ok, :deleted}

Accepts a memcache operation closure, a grouped map of %{node => args} and executes the operations in parallel for all given nodes. The result is of form {:ok, enumerable} where enumerable is the merged result of all operations

Removes all the items from the server. Returns {:ok}

Gets the value associated with the key. Returns {:error, "Key not found"} if the given key doesn’t exist

increments the key by value

List all currently registered node names, like [:"localhost:11211"]

Accepts a list of mcached keys, and returns either {:ok, %{key => val}} for each found key or {:error, any}

Accepts a list of {key, val} pairs and returns the store results for each node touched

Multi-set with cas option

Sets the key to value

Called when an application is started

Link to this section Functions

Removes the item with the specified key. Returns {:ok, :deleted}

Link to this function exec_parallel(fun, grouped, args \\ [], merge_fun \\ &Map.merge/2)

Accepts a memcache operation closure, a grouped map of %{node => args} and executes the operations in parallel for all given nodes. The result is of form {:ok, enumerable} where enumerable is the merged result of all operations.

Additionally, you can pass args to supply memcache ops to each of the executions and merge_fun (a 2-arity func) which configures how the result is merged into the final result set. For instance, mget/2 returns a map of key, val pairs in its result, and utilizes Map.merge/2.

Link to this function flush(opts \\ [])

Removes all the items from the server. Returns {:ok}.

Link to this function get(key, opts \\ [])

Gets the value associated with the key. Returns {:error, "Key not found"} if the given key doesn’t exist.

Link to this function incr(key, value \\ 1, opts \\ [])

increments the key by value

List all currently registered node names, like [:"localhost:11211"].

Link to this function mget(keys, opts \\ [])

Accepts a list of mcached keys, and returns either {:ok, %{key => val}} for each found key or {:error, any}

Link to this function mset(commands, opts \\ [])

Accepts a list of {key, val} pairs and returns the store results for each node touched

Link to this function mset_cas(commands, opts \\ [])

Multi-set with cas option

Link to this function set(key, value, opts \\ [])

Sets the key to value.

Link to this function start(type, args)

Called when an application is started.

This function is called when an application is started using Application.start/2 (and functions on top of that, such as Application.ensure_started/2). This function should start the top-level process of the application (which should be the top supervisor of the application’s supervision tree if the application follows the OTP design principles around supervision).

start_type defines how the application is started:

  • :normal - used if the startup is a normal startup or if the application is distributed and is started on the current node because of a failover from another node and the application specification key :start_phases is :undefined.
  • {:takeover, node} - used if the application is distributed and is started on the current node because of a failover on the node node.
  • {:failover, node} - used if the application is distributed and is started on the current node because of a failover on node node, and the application specification key :start_phases is not :undefined.

start_args are the arguments passed to the application in the :mod specification key (e.g., mod: {MyApp, [:my_args]}).

This function should either return {:ok, pid} or {:ok, pid, state} if startup is successful. pid should be the PID of the top supervisor. state can be an arbitrary term, and if omitted will default to []; if the application is later stopped, state is passed to the stop/1 callback (see the documentation for the c:stop/1 callback for more information).

use Application provides no default implementation for the start/2 callback.

Callback implementation for Application.start/2.