/radix

Redis client for Go

Primary LanguageGoMIT LicenseMIT

Radix

Radix is a minimalistic Redis client for Go. It is broken up into the following:

  • redis - A wrapper around a single redis connection. Supports normal commands/response as well as pipelining.

    • resp - A utility package for encoding and decoding messages from redis
  • extra - a sub-package containing added functionality

    • pool - a simple, automatically expanding/cleaning connection pool.

    • pubsub - a simple wrapper providing convenient access to Redis Pub/Sub functionality.

    • sentinel - a client for redis sentinel which acts as a connection pool for a cluster of redis nodes. A sentinel client connects to a sentinel instance and any master redis instances that instance is monitoring. If a master becomes unavailable, the sentinel client will automatically start distributing connections from the slave chosen by the sentinel instance.

    • cluster - a client for a redis cluster which automatically handles interacting with a redis cluster, transparently handling redirects and pooling. This client keeps a mapping of slots to nodes internally, and automatically keeps it up-to-date.

Installation

go get github.com/fzzy/radix/redis

Testing

go get -u github.com/stretchr/testify
make test

The test action assumes you have a redis server listening on port 6379. It will adiitionally bring up and tear down redis cluster nodes on ports 7000 and 7001. You can specify the path to redis-server to use when setting up cluster like so:

make REDIS_SERVER=/path/to/redis-server test

Copyright and licensing

Copyright 2013 Juhani Åhman. Unless otherwise noted, the source files are distributed under the MIT License found in the LICENSE file.