Async::Redis
An asynchronous client for Redis including TLS. Support for streaming requests and responses. Built on top of async.
Support
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.
Usage
Please see the project documentation for more details.
-
Getting Started - This guide explains how to use the
async-redis
gem to connect to a Redis server and perform basic operations. -
Transactions and Pipelines - This guide explains how to use Redis transactions and pipelines with
async-redis
for atomic operations and improved performance. -
Subscriptions - This guide explains how to use Redis pub/sub functionality with
async-redis
to publish and subscribe to messages. -
Data Structures and Operations - This guide explains how to work with Redis data types and operations using
async-redis
. -
Streams - This guide explains how to use Redis streams with
async-redis
for reliable message processing and event sourcing. -
Scripting - This guide explains how to use Redis Lua scripting with
async-redis
for atomic operations and advanced data processing. -
Client Architecture - This guide explains the different client types available in
async-redis
and when to use each one.
Releases
Please see the project releases for all releases.
v0.13.0
- Fix password with special characters when using sentinels.
- Fix support for UNIX domain socket endpoints. You can now create Unix socket endpoints using
Async::Redis::Endpoint.unix("/path/to/socket.sock")
or parse them from URLs likeredis:/path/to/socket.sock
.
v0.12.0
- Add agent context.
- Add support for pattern pub/sub.
- Add support for sharded pub/sub.
- Add support for
master_options
andslave_options
(and removedprotocol
) fromSentinelClient
.
v0.11.2
- Fix handling of IPv6 address literals, including those returned by Redis Cluster / Sentinel.
v0.11.1
- Correctly pass
@options
toAsync::Redis::Client
instances created byAsync::Redis::ClusterClient
.
v0.10.0
Contributing
We welcome contributions to this project.
- Fork it.
- Create your feature branch (
git checkout -b my-new-feature
). - Commit your changes (
git commit -am 'Add some feature'
). - Push to the branch (
git push origin my-new-feature
). - Create new Pull Request.
Developer Certificate of Origin
In order to protect users of this project, we require all contributors to comply with the Developer Certificate of Origin. This ensures that all contributions are properly licensed and attributed.
Community Guidelines
This project is best served by a collaborative and respectful environment. Treat each other professionally, respect differing viewpoints, and engage constructively. Harassment, discrimination, or harmful behavior is not tolerated. Communicate clearly, listen actively, and support one another. If any issues arise, please inform the project maintainers.