mirror of
https://github.com/swift-server/RediStack.git
synced 2026-06-02 07:37:33 +00:00
e446a834cdb7fba68ec43f7f2c65bf6956a9ebd6
Redis
Motivation: The two provided factory methods for creating `RedisConnection` and `ClientBootstrap` were not readily discoverable or appropriately expressible. Modifications: - Add: `Redis` top-level namespace enum - Move & Rename: `RedisConnection.connect` factory method to `Redis.makeConnection` - Move & Rename: `ClientBootstrap.makeRedisDefault` factory method to `Redis.makeDefaultClientBootstrap` - Rename: `EventLoopFuture` extension file to just `SwiftNIO` to have all framework extensions in a single file Results: Using NIORedis should be more discoverable and straight forward on how to create a connection with `Redis.makeConnection(...)` over `RedisConnection.connect(...)`
NIORedis
A non-blocking Swift driver for Redis built with SwiftNIO.
This package defines everything you need to work with Redis through the Redis Seralization Protocol (RESP).
- Pitch discussion: Swift Server Forums
- Proposal: SSWG-0004
Installation
To install NIORedis, just add the package as a dependency in your Package.swift
dependencies: [
.package(url: "https://github.com/Mordil/nio-redis.git", .upToNextMinor(from: "0.2.0")
]
and run the following command: swift package resolve
Getting Started
NIORedis is ready to use right after installation.
import NIORedis
let driver = NIORedisDriver(ownershipModel: .internal(threadCount: 2))
let connection = try driver.makeConnection().wait()
let result = try connection.set("my_key", to: "some value")
.flatMap { return connection.get("my_key" }
.wait()
print(result) // Optional("some value")
Contributing
Check out CONTRIBUTING.md for more information on how to help with NIORedis.
It is highly recommended to use Docker to install Redis locally.
docker run -d -p 6379:6379 --name nioredis redis:5
Otherwise, install Redis directly on your machine from Redis.io.
Languages
Swift
99.7%
Shell
0.3%