Skip to content

Repository files navigation

Perfect-Redis 简体中文

Get Involed with Perfect!

Star Perfect On GithubStack OverflowFollow Perfect on TwitterJoin the Perfect Slack

Swift 4.0Platforms OS X | LinuxLicense ApachePerfectlySoft TwitterSlack Status

Redis client support for Perfect

Quick Start

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

letclient=RedisClient.getClient(withIdentifier:RedisClientIdentifier())

Ping the server:

letresponse= 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")varresponse= 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}lets= response.toString()XCTAssert(s == value,"Unexpected response \(response)")

Pub/sub with two clients using async API:

RedisClient.getClient(withIdentifier:RedisClientIdentifier()){
c indo{letclient1=tryc()RedisClient.getClient(withIdentifier:RedisClientIdentifier()){
c indo{letclient2=tryc()
client1.subscribe(channels:["foo"]){
response in
client2.publish(channel:"foo", message:.string("Hello!")){
response in
client1.readPublished(timeoutSeconds:5.0){
response inguard 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.

About

A Swift client for Redis.

Topics

Resources

Stars

28 stars

Watchers

5 watching

Forks

Releases

Packages

Used by

Contributors

Languages