async-redis 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c93d4c6fc6b638cb339e1593a9f459041d886a2a6bebb1d195fb168af3076ecd
4
- data.tar.gz: 10e62c4f23691e541cb9b3430f5b7333c851f712308926d8249e5062a88eff59
3
+ metadata.gz: 1a6afd9e0917905a3ac88663aab6185431af4f90230a160439131b137611a072
4
+ data.tar.gz: 503e41aea7adc5f2f103d442db5be4c37f9299c9fb9bbba33b040f8200237511
5
5
  SHA512:
6
- metadata.gz: c1f44727870268dc6916e45addea89230d11af79d6d4546e1bd43140c534744b61acf5c6ee9bd301e7c9bb4ef69862b859556cccaac7e00af04ab5ce88552eca
7
- data.tar.gz: 66d6d26209c7de1d87cd5095685c4f1fed235409d0e41966e1c55fc10c5e1e1a7469b734b144b654b072b18b1933bcf2c2e7b8ee1f7204f4f3a18b9af43ec3e6
6
+ metadata.gz: 459502e1c7c5cfbb6250a4460f1dfa4b5e0cd2386e056f77696883521274d3ad0b6c25cd5a1e6ee3db393d18703782c643c1fe6b39e4cf22292cd26417b6af9b
7
+ data.tar.gz: 3119cf4d3b60ed724b68ed9fa2fc9dee2729a27657ebf1460453d236426d8e1c19f3f1717c5d0266fb85a9c7f821ca1e74f3e1e2321750b71805ecbefe084387
checksums.yaml.gz.sig CHANGED
Binary file
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2024, by Samuel Williams.
4
+ # Copyright, 2024-2025, by Samuel Williams.
5
+ # Copyright, 2025, by Travis Bell.
5
6
 
6
7
  require_relative "client"
7
8
  require "io/stream"
@@ -56,6 +57,7 @@ module Async
56
57
  # @property endpoints [Array(Endpoint)] The list of cluster endpoints.
57
58
  def initialize(endpoints, **options)
58
59
  @endpoints = endpoints
60
+ @options = options
59
61
  @shards = nil
60
62
  end
61
63
 
@@ -93,7 +95,7 @@ module Async
93
95
  end
94
96
 
95
97
  if node = nodes.sample
96
- return (node.client ||= Client.new(node.endpoint))
98
+ return (node.client ||= Client.new(node.endpoint, **@options))
97
99
  end
98
100
  end
99
101
 
@@ -101,7 +103,7 @@ module Async
101
103
 
102
104
  def reload_cluster!(endpoints = @endpoints)
103
105
  @endpoints.each do |endpoint|
104
- client = Client.new(endpoint)
106
+ client = Client.new(endpoint, **@options)
105
107
 
106
108
  shards = RangeMap.new
107
109
  endpoints = []
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019, by Mikael Henriksson.
5
- # Copyright, 2019-2023, by Samuel Williams.
5
+ # Copyright, 2019-2025, by Samuel Williams.
6
6
 
7
7
  require "protocol/redis/methods"
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2018, by Huba Nagy.
5
- # Copyright, 2018-2023, by Samuel Williams.
5
+ # Copyright, 2018-2025, by Samuel Williams.
6
6
 
7
7
  require_relative "pipeline"
8
8
 
@@ -5,6 +5,6 @@
5
5
 
6
6
  module Async
7
7
  module Redis
8
- VERSION = "0.11.0"
8
+ VERSION = "0.11.1"
9
9
  end
10
10
  end
data/license.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # MIT License
2
2
 
3
- Copyright, 2018-2024, by Samuel Williams.
3
+ Copyright, 2018-2025, by Samuel Williams.
4
4
  Copyright, 2018, by Huba Nagy.
5
5
  Copyright, 2019-2020, by David Ortiz.
6
6
  Copyright, 2019, by Pierre Montelle.
@@ -13,6 +13,7 @@ Copyright, 2021, by Troex Nevelin.
13
13
  Copyright, 2022, by Tim Willard.
14
14
  Copyright, 2022, by Gleb Sinyavskiy.
15
15
  Copyright, 2024, by Joan Lledó.
16
+ Copyright, 2025, by Travis Bell.
16
17
 
17
18
  Permission is hereby granted, free of charge, to any person obtaining a copy
18
19
  of this software and associated documentation files (the "Software"), to deal
data/readme.md CHANGED
@@ -4,12 +4,30 @@ An asynchronous client for Redis including TLS. Support for streaming requests a
4
4
 
5
5
  [![Development Status](https://github.com/socketry/async-redis/workflows/Test/badge.svg)](https://github.com/socketry/async-redis/actions?workflow=Test)
6
6
 
7
+ ## Support
8
+
9
+ This gem supports both Valkey and Redis. It is designed to be compatible with the latest versions of both libraries. We also test Redis sentinel and cluster configurations.
10
+
7
11
  ## Usage
8
12
 
9
13
  Please see the [project documentation](https://socketry.github.io/async-redis/) for more details.
10
14
 
11
15
  - [Getting Started](https://socketry.github.io/async-redis/guides/getting-started/index) - This guide explains how to use the `async-redis` gem to connect to a Redis server and perform basic operations.
12
16
 
17
+ ## Releases
18
+
19
+ Please see the [project releases](https://socketry.github.io/async-redis/releases/index) for all releases.
20
+
21
+ ### v0.11.1
22
+
23
+ - Correctly pass `@options` to `Async::Redis::Client` instances created by `Async::Redis::ClusterClient`.
24
+
25
+ ### v0.10.0
26
+
27
+ - [Add support for Redis Clusters](https://socketry.github.io/async-redis/releases/index#add-support-for-redis-clusters)
28
+ - [Add support for Redis Sentinels](https://socketry.github.io/async-redis/releases/index#add-support-for-redis-sentinels)
29
+ - [Improved Integration Tests](https://socketry.github.io/async-redis/releases/index#improved-integration-tests)
30
+
13
31
  ## Contributing
14
32
 
15
33
  We welcome contributions to this project.
@@ -1,10 +1,16 @@
1
- # v0.10.0
1
+ # Releases
2
2
 
3
- ## Cluster Client
3
+ ## v0.11.1
4
+
5
+ - Correctly pass `@options` to `Async::Redis::Client` instances created by `Async::Redis::ClusterClient`.
6
+
7
+ ## v0.10.0
8
+
9
+ ### Add support for Redis Clusters
4
10
 
5
11
  `Async::Redis::ClusterClient` is a new class that provides a high-level interface to a Redis Cluster. Due to the way clustering works, it does not provide the same interface as the `Async::Redis::Client` class. Instead, you must request an appropriate client for the key you are working with.
6
12
 
7
- ```ruby
13
+ ``` ruby
8
14
  endpoints = [
9
15
  Async::Redis::Endpoint.parse("redis://redis-a"),
10
16
  Async::Redis::Endpoint.parse("redis://redis-b"),
@@ -18,11 +24,11 @@ cluster_client.clients_for("key") do |client|
18
24
  end
19
25
  ```
20
26
 
21
- ## Sentinel Client
27
+ ### Add support for Redis Sentinels
22
28
 
23
29
  The previous implementation `Async::Redis::SentinelsClient` has been replaced with `Async::Redis::SentinelClient`. This new class uses `Async::Redis::Endpoint` objects to represent the sentinels and the master.
24
30
 
25
- ```ruby
31
+ ``` ruby
26
32
  sentinels = [
27
33
  Async::Redis::Endpoint.parse("redis://redis-sentinel-a"),
28
34
  Async::Redis::Endpoint.parse("redis://redis-sentinel-b"),
@@ -41,6 +47,6 @@ slave_client.session do |session|
41
47
  end
42
48
  ```
43
49
 
44
- ## Integration Tests
50
+ ### Improved Integration Tests
45
51
 
46
52
  Integration tests for Redis Cluster and Sentinel have been added, using `docker-compose` to start the required services and run the tests. These tests are not part of the default test suite and must be run separately. See the documentation in the `sentinel/` and `cluster/` directories for more information.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: async-redis
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -17,7 +17,7 @@ authors:
17
17
  - Pierre Montelle
18
18
  - Salim Semaoune
19
19
  - Tim Willard
20
- autorequire:
20
+ - Travis Bell
21
21
  bindir: bin
22
22
  cert_chain:
23
23
  - |
@@ -49,7 +49,7 @@ cert_chain:
49
49
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
50
50
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
51
51
  -----END CERTIFICATE-----
52
- date: 2024-11-12 00:00:00.000000000 Z
52
+ date: 2025-02-28 00:00:00.000000000 Z
53
53
  dependencies:
54
54
  - !ruby/object:Gem::Dependency
55
55
  name: async
@@ -121,13 +121,10 @@ dependencies:
121
121
  - - "~>"
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0.9'
124
- description:
125
- email:
126
124
  executables: []
127
125
  extensions: []
128
126
  extra_rdoc_files: []
129
127
  files:
130
- - changes.md
131
128
  - lib/async/redis.rb
132
129
  - lib/async/redis/client.rb
133
130
  - lib/async/redis/cluster_client.rb
@@ -144,13 +141,13 @@ files:
144
141
  - lib/async/redis/version.rb
145
142
  - license.md
146
143
  - readme.md
144
+ - releases.md
147
145
  homepage: https://github.com/socketry/async-redis
148
146
  licenses:
149
147
  - MIT
150
148
  metadata:
151
149
  documentation_uri: https://socketry.github.io/async-redis/
152
150
  source_code_uri: https://github.com/socketry/async-redis.git
153
- post_install_message:
154
151
  rdoc_options: []
155
152
  require_paths:
156
153
  - lib
@@ -165,8 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
162
  - !ruby/object:Gem::Version
166
163
  version: '0'
167
164
  requirements: []
168
- rubygems_version: 3.5.22
169
- signing_key:
165
+ rubygems_version: 3.6.2
170
166
  specification_version: 4
171
167
  summary: A Redis client library.
172
168
  test_files: []
metadata.gz.sig CHANGED
Binary file