RediStack

SSWG Sandbox Incubating Badge Documentation MIT License Swift 5.6

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 使用起来非常快捷 - 您只需要一个来自 SwiftNIOEventLoop

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

更新日志

SemVer 变更记录在发布页面的每个版本中。

贡献

请查看 CONTRIBUTING.md 以获取有关如何帮助 RediStack 的更多信息。

贡献者

查看 CONTRIBUTORS.txt 以查看完整列表。此列表会在每个版本中更新。

服务器端 Swift 生态系统

RediStackSwift 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 设计。

许可证

Apache 2.0

版权所有 (c) 2019-至今, Nathan Harris (@mordil)

本项目包含由其他与本项目无关的人员编写的代码。所有版权声明均由他们保留。有关完整列表及其声明的权利,请参阅 NOTICE.txt

RedisRedis Labs 的注册商标。 对其商标的任何使用均应遵守已建立的 商标指南,并不意味着与他们的任何隶属关系或认可,并且所有权利均由他们保留。

SwiftApple, Inc 的注册商标。 对其商标的任何使用均不意味着与他们的任何隶属关系或认可,并且所有权利均由他们保留。