RediStack (pronounced like "ready stack") is a non-blocking Swift client for Redis built on top of SwiftNIO.
The GitLab repository is a read-only mirror of the GitHub repository. For issues and pull requests, please visit GitHub. |
---|
It communicates over the network using Redis' Redis Seralization Protocol (RESP2).
This library is primarily developed for Redis v5, but is backwards compatible to Redis v3.
To install RediStack, just add the package as a dependency in your Package.swift.
dependencies: [
.package(url: "https://github.com/swift-server/RediStack.git", from: "1.4.1")
]
RediStack is quick to use - all you need is an EventLoop
from SwiftNIO.
import NIOCore
import NIOPosix
import RediStack
let eventLoop: EventLoop = NIOSingletons.posixEventLoopGroup.any()
let connection = RedisConnection.make(
configuration: try .init(hostname: "127.0.0.1"),
boundEventLoop: eventLoop
).wait()
let result = try connection.set("my_key", to: "some value")
.flatMap { return connection.get("my_key") }
.wait()
print(result) // Optional("some value")
Note: Use of wait()
was used here for simplicity. Never call this method on an eventLoop
!
The docs for the latest tagged release are always available at the Swift Package Index.
For bugs or feature requests, file a new issue.
SemVer changes are documented for each release on the releases page.
Check out CONTRIBUTING.md for more information on how to help with RediStack.
Check out CONTRIBUTORS.txt to see the full list. This list is updated for each release.
RediStack is part of the Swift on Server Working Group ecosystem - currently recommended as Sandbox Maturity.
Proposal | Pitch | Discussion | Review | Vote |
---|---|---|---|---|
SSWG-0004 | 2019-01-07 | 2019-04-01 | 2019-06-09 | 2019-06-27 |
Any given release of RediStack will support at least the latest version of Swift on a given platform plus 2 previous versions, at the time of the release.
Major version releases will be scheduled around official Swift releases, taking no longer 3 months from the Swift release.
Major version releases will drop support for any version of Swift older than the last 3 Swift versions.
This policy is to balance the desire for as much backwards compatibility as possible, while also being able to take advantage of new Swift features for the best API design possible.
Copyright (c) 2019-present, Nathan Harris (@mordil)
This project contains code written by others not affliated with this project. All copyright claims are reserved by them. For a full list, with their claimed rights, see NOTICE.txt
Redis is a registered trademark of Redis Labs. Any use of their trademark is under the established trademark guidelines and does not imply any affiliation with or endorsement by them, and all rights are reserved by them.
Swift is a registered trademark of Apple, Inc. Any use of their trademark does not imply any affiliation with or endorsement by them, and all rights are reserved by them.
redistack's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.