segmented_cache (segmented_cache v0.5.1)

View Source

Summary

Types

delete_error/1

-type delete_error(Key) ::
          #{name => atom(),
            value => Key,
            delete_type => entry | pattern,
            class => throw | error | exit,
            reason => term()}.

entries_limit/0

-type entries_limit() :: infinity | non_neg_integer().

hit/0

-type hit() :: #{name => name(), hit => boolean()}.

key/0

-type key() :: term().

merger_fun/1

-type merger_fun(Value) :: fun((Value, Value) -> Value).

name/0

-type name() :: atom().

opts/0

-type opts() ::
          #{scope => scope(),
            strategy => strategy(),
            entries_limit => entries_limit(),
            segment_num => non_neg_integer(),
            ttl => timeout() | {erlang:time_unit(), non_neg_integer()},
            merger_fun => merger_fun(term())}.

scope/0

-type scope() :: atom().

strategy/0

-type strategy() :: fifo | lru.

value/0

-type value() :: term().

Functions

delete_entry(Name, Key)

-spec delete_entry(name(), key()) -> true.

delete_pattern(Name, Pattern)

-spec delete_pattern(name(), ets:match_pattern()) -> true.

get_entry(Name, Key)

-spec get_entry(name(), key()) -> value() | not_found.

is_member(Name, Key)

-spec is_member(name(), key()) -> boolean().

merge_entry(Name, Key, Value)

-spec merge_entry(name(), key(), value()) -> boolean().

put_entry(Name, Key, Value)

-spec put_entry(name(), key(), value()) -> boolean().

start(Name)

-spec start(name()) -> gen_server:start_ret().

start(Name, Opts)

-spec start(name(), opts()) -> gen_server:start_ret().

start_link(Name)

-spec start_link(name()) -> gen_server:start_ret().

start_link(Name, Opts)

-spec start_link(name(), opts()) -> gen_server:start_ret().