Memcache.Connection (memcachex v0.5.7) 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
Specs
close(GenServer.server()) :: {:ok}
Closes the connection to the memcached server.
Examples
iex> {:ok, pid} = Memcache.Connection.start_link()
iex> Memcache.Connection.close(pid)
{:ok}
Specs
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
Examples
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"}
Specs
execute_quiet(GenServer.server(), [ {atom(), [binary()]} | {atom(), [binary()], Keyword.t()} ]) :: {:ok, [Memcache.result()]} | {:error, atom()}
Executes the list of quiet commands
Examples
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"}]}
Specs
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:connect_timeout- (integer) connection timeout (in milliseconds) at which to terminate the connection attempt in case of an unresponsive host. Defaults to :infinity:auth- (tuple) only plain authentication method is supported. It is specified using the following format{:plain, "username", "password"}. Defaults tonil.:ssl_options- (keyword) SSL options, seehttps://www.erlang.org/doc/man/ssl#type-tls_client_option.
Examples
{:ok, pid} = Memcache.Connection.start_link()