Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/icefiredb/redhub

High-performance Redis-Server multi-threaded framework, based on rawepoll model.
https://github.com/icefiredb/redhub

cache epoll fast go golang high-performance key-value redis redis-protocol

Last synced: 7 days ago
JSON representation

High-performance Redis-Server multi-threaded framework, based on rawepoll model.

Awesome Lists containing this project

README

        


REDHUB


# RedHub
GoDoc
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FIceFireDB%2Fredhub.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FIceFireDB%2Fredhub?ref=badge_shield)

High-performance RESP-Server multi-threaded framework, based on RawEpoll model.
* Ultra high performance
* Fully multi-threaded support
* Low CPU resource consumption
* Compatible with redis protocol
* Create a Redis compatible server with RawEpoll model in Go

# Installing

```
go get -u github.com/IceFireDB/redhub
```

# Example

Here is a simple framework usage example,support the following redis commands:

- SET key value
- GET key
- DEL key
- PING
- QUIT

You can run this example in terminal:

```sh
go run example/memory_kv/server.go
```

# Benchmarks

```
Machine information
OS : Debian Buster 10.6 64bit
CPU : 8 CPU cores
Memory : 64.0 GiB

Go Version : go1.16.5 linux/amd64

```

### 【Redis-server5.0.3】 Single-threaded, no disk persistence.

```
$ ./redis-server --port 6380 --appendonly no
```
```
$ redis-benchmark -h 127.0.0.1 -p 6380 -n 50000000 -t set,get -c 512 -P 1024 -q
SET: 2306060.50 requests per second
GET: 3096742.25 requests per second
```

### 【Redis-server6.2.5】 Single-threaded, no disk persistence.

```
$ ./redis-server --port 6380 --appendonly no
```
```
$ redis-benchmark -h 127.0.0.1 -p 6380 -n 50000000 -t set,get -c 512 -P 1024 -q
SET: 2076325.75 requests per second
GET: 2652801.50 requests per second
```

### 【Redis-server6.2.5】 Multi-threaded, no disk persistence.

```
io-threads-do-reads yes
io-threads 8
$ ./redis-server redis.conf
```
```
$ redis-benchmark -h 127.0.0.1 -p 6379 -n 50000000 -t set,get -c 512 -P 1024 -q
SET: 1944692.88 requests per second
GET: 2375184.00 requests per second
```

### 【RedCon】 Multi-threaded, no disk persistence

```
$ go run example/clone.go
```
```
$ redis-benchmark -h 127.0.0.1 -p 6380 -n 50000000 -t set,get -c 512 -P 1024 -q
SET: 2332742.25 requests per second
GET: 14654162.00 requests per second
```
### 【RedHub】 Multi-threaded, no disk persistence

```
$ go run example/server.go
```
```
$ redis-benchmark -h 127.0.0.1 -p 6380 -n 50000000 -t set,get -c 512 -P 1024 -q
SET: 4087305.00 requests per second
GET: 16490765.00 requests per second
```


REDHUB Benchmarks



REDHUB Benchmarks


# Disclaimers
When you use this software, you have agreed and stated that the author, maintainer and contributor of this software are not responsible for any risks, costs or problems you encounter. If you find a software defect or BUG, ​​please submit a patch to help improve it!

# License
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FIceFireDB%2Fredhub.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FIceFireDB%2Fredhub?ref=badge_large)