-spec delete_value(SessionId :: binary()) -> ok | {error, Reason :: term()}.
-spec delete_value(SessionId :: binary(), Key :: binary()) -> ok | {error, Reason :: term()}.
-spec get_value(SessionId :: binary(), Key :: binary()) -> {ok, Value :: binary()} | {error, not_found}.
-spec set_value(SessionId :: binary(), Key :: binary(), Value :: binary()) -> ok | {error, Reason :: term()}.
-spec start_link() -> {ok, Pid :: pid()} | {error, Error :: {already_started, pid()}} | {error, Error :: term()} | ignore.