目录
目录README.md

Perfect-Redis 简体中文

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 4.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

Redis client support for Perfect

Quick Start

Get a redis client with defaults (localhost, default port):

let client = RedisClient.getClient(withIdentifier: RedisClientIdentifier())

Ping the server:

let response = client.ping()
guard case .simpleString(let s) = response else {
    return
}
XCTAssert(s == "PONG", "Unexpected response \(response)")

Set/get a value:

let (key, value) = ("mykey", "myvalue")
var response = client.set(key: key, value: .string(value))
guard case .simpleString(let s) = response else {
    ...
    return
}
response = client.get(key: key)
guard case .bulkString = response else {
    ...
    return
}
let s = response.toString()
XCTAssert(s == value, "Unexpected response \(response)")

Pub/sub with two clients using async API:

RedisClient.getClient(withIdentifier: RedisClientIdentifier()) {
    c in
    do {
        let client1 = try c()
        RedisClient.getClient(withIdentifier: RedisClientIdentifier()) {
            c in
            do {
                let client2 = try c()
                client1.subscribe(channels: ["foo"]) {
                    response in
                    client2.publish(channel: "foo", message: .string("Hello!")) {
                        response in
                        client1.readPublished(timeoutSeconds: 5.0) {
                            response in
                            guard case .array(let array) = response else {
                                ...
                                return
                            }
                            XCTAssert(array.count == 3, "Invalid array elements")
                            XCTAssert(array[0].toString() == "message")
                            XCTAssert(array[1].toString() == "foo")
                            XCTAssert(array[2].toString() == "Hello!")
                        }
                    }
                }
            } catch {
                ...
            }
        }
    } catch {
        ...
    }
}

Building

Add this project as a dependency in your Package.swift file.

.package(url: "https://github.com/PerfectlySoft/Perfect-Redis.git", from: "3.2.3")

Further Information

For more information on the Perfect project, please visit perfect.org.

关于
384.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号