RediStack(发音类似 "ready stack")是一个基于 SwiftNIO 构建的 非阻塞 Swift Redis 客户端。
GitLab 仓库是 GitHub 仓库的只读镜像。 如有问题和拉取请求,请访问 GitHub。 |
---|
它通过网络使用 Redis 的 Redis Seralization Protocol (RESP2) 进行通信。
此库主要为 Redis v5 开发,但向后兼容 Redis v3。
要安装 RediStack,只需将该包作为依赖项添加到您的 Package.swift 中。
dependencies: [
.package(url: "https://github.com/swift-server/RediStack.git", from: "1.4.1")
]
RediStack 使用起来非常快捷 - 您只需要一个来自 SwiftNIO 的 EventLoop
。
import NIOCore
import NIOPosix
import RediStack
let eventLoop: EventLoop = NIOSingletons.posixEventLoopGroup.any()
let connection = RedisConnection.make(
configuration: try .init(hostname: "127.0.0.1"),
boundEventLoop: eventLoop
).wait()
let result = try connection.set("my_key", to: "some value")
.flatMap { return connection.get("my_key") }
.wait()
print(result) // Optional("some value")
注意:为了简单起见,这里使用了
wait()
。永远不要在eventLoop
上调用此方法!
最新标记版本的文档始终可在 Swift Package Index 上找到。
对于错误或功能请求,请提交一个新的 issue。
请查看 CONTRIBUTING.md 以获取有关如何帮助 RediStack 的更多信息。
查看 CONTRIBUTORS.txt 以查看完整列表。此列表会在每个版本中更新。
RediStack 是 Swift on Server Working Group 生态系统的一部分 - 目前推荐为 Sandbox Maturity。
提案 | 推介 | 讨论 | 审查 | 投票 |
---|---|---|---|---|
SSWG-0004 | 2019-01-07 | 2019-04-01 | 2019-06-09 | 2019-06-27 |
在给定平台上,RediStack 的任何给定版本都将至少支持最新版本的 Swift 以及发布时的前 2 个版本。
主要版本发布将围绕官方 Swift 发布进行安排,从 Swift 发布开始不超过 3 个月。
主要版本发布将放弃对早于最后 3 个 Swift 版本的任何 Swift 版本的支持。
此策略旨在平衡尽可能多的向后兼容性的愿望,同时也能利用新的 Swift 功能来实现可能的最佳 API 设计。
版权所有 (c) 2019-至今, Nathan Harris (@mordil)
本项目包含由其他与本项目无关的人员编写的代码。所有版权声明均由他们保留。有关完整列表及其声明的权利,请参阅 NOTICE.txt
Redis 是 Redis Labs 的注册商标。 对其商标的任何使用均应遵守已建立的 商标指南,并不意味着与他们的任何隶属关系或认可,并且所有权利均由他们保留。
Swift 是 Apple, Inc 的注册商标。 对其商标的任何使用均不意味着与他们的任何隶属关系或认可,并且所有权利均由他们保留。