https://github.com/keybase/go-redis-pubsub
Redis pub/sub client in Go
https://github.com/keybase/go-redis-pubsub
Last synced: 5 months ago
JSON representation
Redis pub/sub client in Go
- Host: GitHub
- URL: https://github.com/keybase/go-redis-pubsub
- Owner: keybase
- Fork: true (aalness/go-redis-pubsub)
- Created: 2016-03-24T22:07:20.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2017-03-07T18:23:14.000Z (over 9 years ago)
- Last Synced: 2024-06-20T00:35:08.505Z (almost 2 years ago)
- Language: Go
- Homepage:
- Size: 31.3 KB
- Stars: 1
- Watchers: 7
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
go-redis-pubsub
==================
[](https://travis-ci.org/aalness/go-redis-pubsub)
This library is a small specialized Go client for [Redis pub/sub](http://redis.io/topics/pubsub). I'm using it to support real-time high-throughput messaging between server instances when the expected channel count is large and the subscription pattern is very dynamic.
It's implemented using [redigo](https://github.com/garyburd/redigo).
### Features
- Manages a subscription pool on behalf of the user to allow for concurrent channel subscription processing and automatic reconnection with exponential backoff.
- Attempts to mitigate `SUBSCRIBE` / `UNSUBSCRIBE` thrash by delaying unsubscription via a timer mechanism.
- Manages a send buffer and worker pool with the help of the `redis.Pool` implementation.
- Provides a handler callback interface for both subscribers and publishers.