- Update eredis to 1.7.0
- Update eredis to 1.5.1
- Support multiple clusters
- List runtime dependencies in .app.src
- Let Eredis version to be 1.4 to 2.0 on mix and 1.4.1 on rebar
- Update CI jobs and generate TLS test certs on the fly to avoid outdated test certs
First release of the [Nordix fork](https://github.com/Nordix/eredis_cluster] in April, 2021.
- Support of TLS introduced in Redis 6
- Uses Nordix/eredis (TLS, error handling fixes)
- Many Dialyzer corrections
- Elvis code formatting
- Optimizations
- Refresh slot mapping reuses existing connection when possible and don't refresh mapping when not needed, e.g. when a pool is busy
- Don't use an extra wrapper process around each eredis connection process
- Containerized testing
- Testing using simulated Redis cluster for corner cases such as ASK redirects
- Added API functions:
connect/2
: Connect to init nodes, with optionsqa2/1
: Query all nodes with re-attempts, returns[{Node, Result}, ...]
qn/2
: Query to specific Redis nodeq_noreply/1
: Query a single Redis node but wont wait for its resultload_script/1
: Pre-load script to all Redis nodesscan/4
: Perform a scan command on given Redis nodesdisconnect/1
: Disconnect from given Redis nodeget_all_pools/0
: Get all pools (one for each Redis node in cluster)get_pool_by_command/1
: Get which Redis pool that handles a given commandget_pool_by_key/1
: Get which Redis pool that handles a given keyeredis_cluster_monitor:get_cluster_nodes/0
: Get cluster nodes information list (CLUSTER NODES)eredis_cluster_monitor:get_cluster_slots/0
: Get cluster slots information (CLUSTER SLOTS)
- Changed behaviour:
qa/1
: Query all nodes, now with re-attemptstransaction/2
: The second argument can be a Redis node (pool) or a key, instead of only a key
This release from 2019 and older are releases of the original adrienmo/eredis_cluster.
The initial commit was made in 2015 by Adrien Moreau.