FerricStore.SDK.KV (ferricstore_sdk v0.2.3)

Copy Markdown View Source

Native FerricStore key/value commands.

Summary

Types

client()

@type client() :: GenServer.server()

Functions

cas(client, key, expected, value, opts \\ [])

@spec cas(client(), binary(), term(), term(), keyword()) ::
  {:ok, boolean() | nil} | {:error, term()}

del(client, key_or_keys, opts \\ [])

@spec del(client(), binary() | [binary()], keyword()) ::
  {:ok, non_neg_integer()} | {:error, term()}

extend(client, key, owner, ttl_ms, opts \\ [])

@spec extend(client(), binary(), binary(), pos_integer(), keyword()) ::
  {:ok, term()} | {:error, term()}

fetch_or_compute(client, key, ttl_ms, opts \\ [])

@spec fetch_or_compute(client(), binary(), pos_integer(), keyword()) ::
  {:ok, [term()]} | {:error, term()}

fetch_or_compute_error(client, key, message, opts \\ [])

@spec fetch_or_compute_error(client(), binary(), binary(), keyword()) ::
  :ok | {:error, term()}

fetch_or_compute_result(client, key, value, ttl_ms, opts \\ [])

@spec fetch_or_compute_result(client(), binary(), term(), pos_integer(), keyword()) ::
  :ok | {:error, term()}

get(client, key, opts \\ [])

@spec get(client(), binary(), keyword()) :: {:ok, term()} | {:error, term()}

hget(client, key, field, opts \\ [])

@spec hget(client(), binary(), binary(), keyword()) ::
  {:ok, term()} | {:error, term()}

hgetall(client, key, opts \\ [])

@spec hgetall(client(), binary(), keyword()) :: {:ok, map()} | {:error, term()}

hmget(client, key, fields, opts \\ [])

@spec hmget(client(), binary(), [binary()], keyword()) ::
  {:ok, [term()]} | {:error, term()}

hset(client, key, fields, opts \\ [])

@spec hset(client(), binary(), map(), keyword()) :: {:ok, term()} | {:error, term()}

lock(client, key, owner, ttl_ms, opts \\ [])

@spec lock(client(), binary(), binary(), pos_integer(), keyword()) ::
  {:ok, term()} | {:error, term()}

lpop(client, key, count \\ 1, opts \\ [])

@spec lpop(client(), binary(), pos_integer(), keyword()) ::
  {:ok, term()} | {:error, term()}

lpush(client, key, values, opts \\ [])

@spec lpush(client(), binary(), binary() | [binary()], keyword()) ::
  {:ok, term()} | {:error, term()}

lrange(client, key, start, stop, opts \\ [])

@spec lrange(client(), binary(), integer(), integer(), keyword()) ::
  {:ok, [term()]} | {:error, term()}

mget(client, keys, opts \\ [])

@spec mget(client(), [binary()], keyword()) :: {:ok, [term()]} | {:error, term()}

mset(client, pairs, opts \\ [])

@spec mset(client(), map() | [{binary(), term()}], keyword()) ::
  :ok | {:error, term()}

ratelimit_add(client, key, window_ms, max, count \\ 1, opts \\ [])

@spec ratelimit_add(
  client(),
  binary(),
  pos_integer(),
  pos_integer(),
  pos_integer(),
  keyword()
) ::
  {:ok, term()} | {:error, term()}

rpop(client, key, count \\ 1, opts \\ [])

@spec rpop(client(), binary(), pos_integer(), keyword()) ::
  {:ok, term()} | {:error, term()}

rpush(client, key, values, opts \\ [])

@spec rpush(client(), binary(), binary() | [binary()], keyword()) ::
  {:ok, term()} | {:error, term()}

sadd(client, key, members, opts \\ [])

@spec sadd(client(), binary(), binary() | [binary()], keyword()) ::
  {:ok, term()} | {:error, term()}

set(client, key, value, opts \\ [])

@spec set(client(), binary(), term(), keyword()) ::
  :ok | {:ok, term()} | {:error, term()}

sismember(client, key, member, opts \\ [])

@spec sismember(client(), binary(), binary(), keyword()) ::
  {:ok, boolean()} | {:error, term()}

smembers(client, key, opts \\ [])

@spec smembers(client(), binary(), keyword()) :: {:ok, [term()]} | {:error, term()}

srem(client, key, members, opts \\ [])

@spec srem(client(), binary(), binary() | [binary()], keyword()) ::
  {:ok, term()} | {:error, term()}

unlock(client, key, owner, opts \\ [])

@spec unlock(client(), binary(), binary(), keyword()) ::
  {:ok, term()} | {:error, term()}

zadd(client, key, items, opts \\ [])

@spec zadd(client(), binary(), list(), keyword()) :: {:ok, term()} | {:error, term()}

zrange(client, key, start, stop, opts \\ [])

@spec zrange(client(), binary(), integer(), integer(), keyword()) ::
  {:ok, [term()]} | {:error, term()}

zrem(client, key, members, opts \\ [])

@spec zrem(client(), binary(), binary() | [binary()], keyword()) ::
  {:ok, term()} | {:error, term()}

zscore(client, key, member, opts \\ [])

@spec zscore(client(), binary(), binary(), keyword()) ::
  {:ok, term()} | {:error, term()}