All Projects → PerfectlySoft → Perfect Redis

PerfectlySoft / Perfect Redis

Licence: other
A Swift client for Redis.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Perfect Redis

Kangaroo
SQL client and admin tool for popular databases
Stars: ✭ 127 (+388.46%)
Mutual labels:  database, redis, redis-client
Redis
Vapor provider for RediStack
Stars: ✭ 434 (+1569.23%)
Mutual labels:  redis, redis-client, server-side-swift
Redis Py Cluster
Python cluster client for the official redis cluster. Redis 3.0+.
Stars: ✭ 934 (+3492.31%)
Mutual labels:  redis, redis-client
Laravel Eloquent Query Cache
Adding cache on your Laravel Eloquent queries' results is now a breeze.
Stars: ✭ 529 (+1934.62%)
Mutual labels:  database, redis
Redis Operator
Redis Operator creates/configures/manages high availability redis with sentinel automatic failover atop Kubernetes.
Stars: ✭ 658 (+2430.77%)
Mutual labels:  redis, redis-client
Nohm
node.js object relations mapper (orm) for redis
Stars: ✭ 462 (+1676.92%)
Mutual labels:  database, redis
Redislite
Redis in a python module.
Stars: ✭ 464 (+1684.62%)
Mutual labels:  database, redis
Quick redis blog
QuickRedis is a free forever Redis Desktop manager. It supports direct connection, sentinel, and cluster mode, supports multiple languages, supports hundreds of millions of keys, and has an amazing UI. Supports both Windows, Mac OS X and Linux platform.
Stars: ✭ 594 (+2184.62%)
Mutual labels:  redis, redis-client
Lada Cache
A Redis based, fully automated and scalable database cache layer for Laravel
Stars: ✭ 424 (+1530.77%)
Mutual labels:  database, redis
Java Knowledge Mind Map
【🌱🌱Java服务端知识技能图谱】用思维脑图梳理汇总Java服务端知识技能
Stars: ✭ 787 (+2926.92%)
Mutual labels:  database, redis
Redis Tui
A Redis Text-based UI client in CLI
Stars: ✭ 757 (+2811.54%)
Mutual labels:  redis, redis-client
Hslcommunication
An industrial IoT underlying architecture framework, focusing on the underlying technical communications and cross-platform, cross-language communication functions, to achieve a variety of mainstream PLC data reading and writing, to achieve modbus of various protocols read and write, and so on, to support the rapid construction of industrial upper computer software, configuration software, SCADA software, factory mes system, To help enterprise Industry 4.0 take-off, to achieve intelligent manufacturing, smart factory goals. The main PLC contains Siemens, Mitsubishi, Omron, Panasonic, Modbus, AB-PLC, Redis
Stars: ✭ 816 (+3038.46%)
Mutual labels:  redis, redis-client
Redis Admin
redis client tool,redis web client,redis web ui,spring-boot support
Stars: ✭ 436 (+1576.92%)
Mutual labels:  redis, redis-client
Stackexchange.redis
General purpose redis client
Stars: ✭ 4,986 (+19076.92%)
Mutual labels:  redis, redis-client
Redis Plus Plus
Redis client written in C++
Stars: ✭ 428 (+1546.15%)
Mutual labels:  redis, redis-client
Gin Boilerplate
The fastest way to deploy a restful api's with Gin Framework with a structured project that defaults to PostgreSQL database and JWT authentication middleware stored in Redis
Stars: ✭ 559 (+2050%)
Mutual labels:  database, redis
Redis Marshal
Lightweight Redis data exploration tool
Stars: ✭ 16 (-38.46%)
Mutual labels:  database, redis
Lettuce Core
Advanced Java Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.
Stars: ✭ 4,319 (+16511.54%)
Mutual labels:  redis, redis-client
Stackexchange.redis.extensions
Stars: ✭ 419 (+1511.54%)
Mutual labels:  redis, redis-client
Iodine
iodine - HTTP / WebSockets Server for Ruby with Pub/Sub support
Stars: ✭ 720 (+2669.23%)
Mutual labels:  redis, redis-client

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].