View Source Hammer.Backend.Redis (hammer_backend_redis v6.1.2)

Documentation for Hammer.Backend.Redis

This backend uses the Redix library to connect to Redis.

The backend process is started by calling start_link:

Hammer.Backend.Redis.start_link(
  expiry_ms: 60_000 * 10,
  redix_config: [host: "example.com", port: 5050]
)

Options are:

  • expiry_ms: Expiry time of buckets in milliseconds, used to set TTL on Redis keys. This configuration is mandatory.
  • redix_config: Keyword list of options to the Redix redis client, also aliased to redis_config
  • redis_url: String url of redis server to connect to (optional, invokes Redix.start_link/2)

Link to this section Summary

Functions

Returns a specification to start this module under a supervisor.

Record a hit in the bucket identified by key

Record a hit in the bucket identified by key, with a custom increment

Delete all buckets associated with id.

Retrieve information about the bucket identified by key

Link to this section Types

@type bucket_info() ::
  {key :: bucket_key(), count :: integer(), created :: integer(),
   updated :: integer()}
@type bucket_key() :: {bucket :: integer(), id :: String.t()}

Link to this section Functions

Returns a specification to start this module under a supervisor.

See Supervisor.

Link to this function

count_hit(pid, key, now)

View Source

Record a hit in the bucket identified by key

Link to this function

count_hit(pid, key, now, increment)

View Source

Record a hit in the bucket identified by key, with a custom increment

Delete all buckets associated with id.

Retrieve information about the bucket identified by key

@spec start() :: :ignore | {:error, any()} | {:ok, pid()}
@spec start(keyword()) :: :ignore | {:error, any()} | {:ok, pid()}
@spec start_link() :: :ignore | {:error, any()} | {:ok, pid()}
@spec start_link(keyword()) :: :ignore | {:error, any()} | {:ok, pid()}
@spec stop() :: any()