RedisCommandContext to RedisCommand, improve RedisCommandHandler usage semantics, and cleanup documentation.
Motivation: During proposal review, it was noted that `RedisCommandContext` was a bit misleading, and the hidden reference semantics worrisome. In addition, several of parts of the documentation around `RedisCommandHandler` were weak or also misleading. Modifications: - Rename `RedisCommandContext` to just `RedisCommand` - Update documentation to be more explicit about the module who owns the types being referenced - Update documentation to call out explicit usage semantics and behavior - Change `RedisCommandHandler` to close the socket connection on error thrown - Rename the "base" Redis Channel Handlers to be more explicitly named Result: Users should have clearer documentation on what happens when using `RedisCommandHandler` and `RedisCommand` without hidden semantics. This contributes to issue #47.
| The GitHub repository is a read-only mirror of the GitLab repository. For issues and merge requests, please visit GitLab. |
|---|
Swift Redis NIO Client
A non-blocking Swift client for Redis built on top of SwiftNIO.
This package defines everything you need to work with Redis through the Redis Seralization Protocol (RESP).
RedisNIO is part of the Swift on Server Working Group ecosystem.
| Proposal | Pitch | Discussion | Review | Vote |
|---|---|---|---|---|
| SSWG-0004 | 2019-01-07 | 2019-04-01 | TBD | TBD |
📦 Installation
To install RedisNIO, just add the package as a dependency in your Package.swift
dependencies: [
.package(url: "https://github.com/Mordil/swift-redis-nio-client.git", from: "1.0.0-alpha.1")
]
and run the following command: swift package resolve
⚡ Getting Started
RedisNIO is ready to use right after installation.
import RedisNIO
let connection = Redis.makeConnection(
to: try .init(ipAddress: "127.0.0.1", port: RedisConnection.defaultPort),
password: "my_pass"
).wait()
let result = try connection.set("my_key", to: "some value")
.flatMap { return connection.get("my_key" }
.wait()
print(result) // Optional("some value")
📕 Documentation
API Documentation is generated every time a new release is published.
The latest version's docs are always available at https://mordil.gitlab.io/swift-redis-nio-client
🚧 Contributing
Check out CONTRIBUTING.md for more information on how to help with RedisNIO.
It is highly recommended to use Docker to install Redis locally.
docker run -d -p 6379:6379 --name redis redis:5
Otherwise, install Redis directly on your machine from Redis.io.