Kitura

APIDoc Build Status - Master macOS Linux Apache 2 Slack Status

KituraRedis

KituraRedis 是一个纯 Swift 客户端,用于与 Redis 数据库交互。

Swift 版本

最新版本的 Kitura-redis 需要 Swift 4.0.3 或更高版本。 您可以通过点击此链接下载此版本的 Swift 二进制文件。 不保证与其他 Swift 版本的兼容性。

用法

添加依赖项

Kitura-redis 包添加到应用程序 Package.swift 文件中的依赖项中。 将 "x.x.x" 替换为最新的 Kitura-redis 版本

.package(url: "https://github.com/Kitura/Kitura-redis.git", from: "x.x.x")

SwiftRedis 添加到目标依赖项

.target(name: "example", dependencies: ["SwiftRedis"]),

导入包

import SwiftRedis

Redis 安装

要在本地测试 Kitura-redis,您需要安装 Redis

macOS

brew install redis

要将 redis 作为后台服务启动并在登录时重启服务

brew services start redis

或者,如果您不希望 redis 作为后台服务运行

redis-server /usr/local/etc/redis.conf

示例

此示例向您展示如何从 Swift 连接并调用 Redis。

创建简单的 Swift 可执行文件

为此项目创建一个目录,进入该目录,然后初始化项目

$ mkdir exampleRedis && cd exampleRedis
$ swift package init --type executable

如上文“添加依赖项”中所述,添加 Kitura-redis 作为依赖项。

现在,编辑您的 main.swift 文件,使其包含

import Foundation
import SwiftRedis

let redis = Redis()

redis.connect(host: "localhost", port: 6379) { (redisError: NSError?) in
    if let error = redisError {
        print(error)
    }
    else {
        print("Connected to Redis")
        // Set a key
        redis.set("Redis", value: "on Swift") { (result: Bool, redisError: NSError?) in
            if let error = redisError {
                print(error)
            }
            // Get the same key
            redis.get("Redis") { (string: RedisString?, redisError: NSError?) in
                if let error = redisError {
                    print(error)
                }
                else if let string = string?.asString {
                    print("Redis \(string)")
                }
            }
        }
    }
}

接下来,构建并运行程序(可以在 Xcode 中或在命令行中)

$ swift build
$ .build/debug/redisExample

您应该看到

$ Connected to Redis
$ Redis on Swift

这表明我们已连接到 Redis,为一个键设置了一个字符串值,然后成功检索了该键的值。

贡献

欢迎为 Kitura-redis 项目做出贡献。 您需要能够在提交拉取请求之前在本地测试您的更改。

测试需要在默认端口 (6379) 上本地访问 Redis 服务器。 如果您不想永久安装 Redis,可以使用 Docker 在本地运行临时实例,如下所示

docker run -d -p 6379:6379 redis:alpine redis-server --requirepass password123

上面指定的密码必须与 Tests/SwiftRedis/password.txt 中定义的密码匹配。 然后,您可以像往常一样运行测试,可以通过 Xcode 或使用

swift test

API 文档

有关更多信息,请访问我们的 API 参考

社区

我们喜欢讨论服务器端 Swift 和 Kitura。 加入我们的 Slack 与团队见面!

许可证

此库在 Apache 2.0 许可证下获得许可。 完整许可证文本可在 LICENSE 中找到。