View Source RedisMutex
RedisMutex is a library for creating a Redis lock for a single Redis instance.
installation
Installation
The package can be installed by adding redis_mutex
to your list of dependencies in mix.exs
:
def deps do
[
{:redis_mutex, "~> 0.4.0"}
]
end
usage
Usage
- Set the
redis_url
in yourconfig.exs
config :redis_mutex, redis_url: {:system, "REDIS_URL"}
Alternatively, pass redix
options directly:
config :redis_mutex,
redix_config: [
host: "example.com",
port: 9999,
ssl: true,
socket_opts: [
customize_hostname_check: [
match_fun: :public_key.pkix_verify_hostname_match_fun(:https)
]
]
]
2. Call `use RedisMutex` in the module you want to use the lock and use `with_lock` to
lock critical parts of your code.
defmodule PossumLodge do use RedisMutex
def get_oauth do
with_lock("my_key") do
"Quando omni flunkus moritati"
end
end end
## Tests
To run the portion of the test suite that does not rely on Redis, run the default command:
mix test
To run the full test suite including those portions that depend on a Redis instance running
and being configured in `config/test.exs`, run the following command:
REDIS_TESTS=true mix test --include=redis_dependent