HammerBackendRedis
A Redis backend for the Hammer rate-limiter.
Installation
Hammer-backend-redis
is available in Hex, the package
can be installed by adding hammer_backend_redis to your list of dependencies in mix.exs:
def deps do
[{:hammer_backend_eredis_cluster, "~> 1.0"},
{:hammer, "~> 6.1"}]
endUsage
Configure the :hammer application to use the Redis backend:
config :hammer,
backend: {Hammer.Backend.EredisCluster, [delete_buckets_timeout: 10_0000,
expiry_ms: 60_000 * 60 * 2,
eredis_cluster_config: [host: "localhost",
port: 6379]]}
(the eredis_cluster_config arg is a keyword-list which is passed to
eredis_cluster)
And that's it, calls to Hammer.check_rate/3 and so on will use Redis to store
the rate-limit counters.
See the Hammer Tutorial for more.
Documentation
On hexdocs: https://hexdocs.pm/hammer_backend_eredis_cluster/
Run tests locally
You need a running Redis instance. One can be started locally using docker-compose up -d.
See the docker-compose.yml for more details on.
Getting Help
If you're having trouble, open an issue on this repo.