Merge pull request #20 from PerfectlySoft/existsfix Fixed some bad ‘exists’ checks
Merge pull request #20 from PerfectlySoft/existsfix
Fixed some bad ‘exists’ checks
Redis client support for Perfect
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 { ... } }
Add this project as a dependency in your Package.swift file.
.package(url: "https://github.com/PerfectlySoft/Perfect-Redis.git", from: "3.2.3")
For more information on the Perfect project, please visit perfect.org.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
Perfect-Redis 简体中文
Redis client support for Perfect
Quick Start
Get a redis client with defaults (localhost, default port):
Ping the server:
Set/get a value:
Pub/sub with two clients using async API:
Building
Add this project as a dependency in your Package.swift file.
Further Information
For more information on the Perfect project, please visit perfect.org.