memcachex v0.5.0 Memcache.Connection View Source
This module provides low level API to connect and execute commands on a memcached server.
Link to this section Summary
Functions
Closes the connection to the memcached server.
Executes the command with the given args
Executes the list of quiet commands
Starts a connection to memcached server.
Link to this section Functions
cleanup(s) View Source
close(pid)
View Source
close(GenServer.server()) :: {:ok}
close(GenServer.server()) :: {:ok}
Closes the connection to the memcached server.
Example
iex> {:ok, pid} = Memcache.Connection.start_link()
iex> Memcache.Connection.close(pid)
{:ok}
execute(pid, command, args, options \\ [])
View Source
execute(GenServer.server(), atom(), [binary()], Keyword.t()) ::
Memcache.result()
execute(GenServer.server(), atom(), [binary()], Keyword.t()) :: Memcache.result()
Executes the command with the given args
options
:cas
- (boolean) returns the CAS value associated with the data. This value will be either in second or third position of the returned tuple depending on the command. Defaults tofalse
Example
iex> {:ok, pid} = Memcache.Connection.start_link()
iex> {:ok} = Memcache.Connection.execute(pid, :SET, ["hello", "world"])
iex> {:ok, "world"} = Memcache.Connection.execute(pid, :GET, ["hello"])
{:ok, "world"}
execute_quiet(pid, commands)
View Source
execute_quiet(GenServer.server(), [
{atom(), [binary()]} | {atom(), [binary()], Keyword.t()}
]) :: {:ok, [Memcache.result()]} | {:error, atom()}
execute_quiet(GenServer.server(), [ {atom(), [binary()]} | {atom(), [binary()], Keyword.t()} ]) :: {:ok, [Memcache.result()]} | {:error, atom()}
Executes the list of quiet commands
Example
iex> {:ok, pid} = Memcache.Connection.start_link()
iex> {:ok, [{:ok}, {:ok}]} = Memcache.Connection.execute_quiet(pid, [{:SETQ, ["1", "one"]}, {:SETQ, ["2", "two"]}])
iex> Memcache.Connection.execute_quiet(pid, [{:GETQ, ["1"]}, {:GETQ, ["2"]}])
{:ok, [{:ok, "one"}, {:ok, "two"}]}
start_link(connection_options \\ [], options \\ [])
View Source
start_link(Keyword.t(), Keyword.t()) :: GenServer.on_start()
start_link(Keyword.t(), Keyword.t()) :: GenServer.on_start()
Starts a connection to memcached server.
The actual TCP connection to the memcached server is established
asynchronously after the start_link/2
returns.
This function accepts two option lists. The first one specifies the
options to connect to the memcached server. The second option is
passed directly to the underlying GenServer.start_link/3
, so it
can be used to create named process.
Memcachex automatically tries to reconnect in case of tcp connection
failures. It starts with a :backoff_initial
wait time and
increases the wait time exponentially on each successive failures
until it reaches the :backoff_max
. After that, it waits for
:backoff_max
after each failure.
Connection Options
:hostname
- (string) hostname of the memcached server. Defaults to"localhost"
:port
- (integer) port on which the memcached server is listening. Defaults to11211
:backoff_initial
- (integer) initial backoff (in milliseconds) to be used in case of connection failure. Defaults to500
:backoff_max
- (integer) maximum allowed interval between two connection attempt. Defaults to30_000
:auth
- (tuple) only plain authentication method is supported. It is specified using the following format{:plain, "username", "password"}
. Defaults tonil
.
Example
{:ok, pid} = Memcache.Connection.start_link()