Skip to content

IceFireDB/redhub

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

REDHUB

RedHub

GoDoc FOSSA Status

High-performance Redis-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:

go run example/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

About

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

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages