Rediseen Versions Save

Create REST-like API service for Redis DB or expose Redis metrics in Prometheus-compatible format, easily.

2.4.0

3 years ago
  • A new feature to allow Rediseen to be used as an Exporter for Prometheus (a new endpoint /metrics providing Prometheus-compatible Redis INFO command output).
  • A few doc improvements
  • A few test improvements

2.3.0

3 years ago
  • Adopting proper usage of modules and importing, so now users can install Rediseen easily via go get as a new convenient installation option.
  • Add go version 1.12 to 1.15 in the matrix of all tests, so the testing becomes more robust
  • Fix an issue due to a minor change in Go 1.15 ("New warning for string(x)", https://golang.org/doc/go1.15)
  • Other a few trivial changes

2.2.0

3 years ago

Use Cobra for CLI Interface (#24)

Rather than using Go-native way to create the CLI interface, migrate to Cobra.

The only change from user perspective is: if user wants to run the service in background, earlier they run rediseen -d start, now they need to run rediseen start -d or rediseen start --daemon-mode

Create PID file as $HOME/.rediseen/rediseen.pid if run in daemon mode (#25)

When run in daemon mode, instead of creating PID file rediseen.pid under "$HOME/", create it under "$HOME/.rediseen/".

2.1.2

3 years ago

Bug Fix

  • when we list keys together with their types (when we use endpoints like /0), we should return at most 1000 keys while this was missed in the earlier implementation

Performance Improvement

  • When we list keys (when we use endpoints like /0), we list keys first, then get type for each of them. This may cause a lot of round-trips and the performance becomes very bad. Starting from this release, we use Redis's pipeline feature to reduce the Round-Trip-Time, and the performance improves significantly (rather than a performance improvement, maybe I should call this a bugfix instead, because not using pipeline feature in such scenario is a stupid mistake or a serious bug).

Others

  • Versions of underlying stuff are upgraded, including Go, go-redis, Docker base image, etc.
  • Other non-feature code refactoring

2.1.1

4 years ago
  • More helpful index endpoint
  • Better-formatted logging
  • Improve ExtendedClient.RedisInfo() performance
  • Set json.encoder.SetEscapeHTML to false to avoid "<" and ">" to be converted to \u0026 and \u003c in JSON result
  • Refactor to make code cleaner (due to there are two main features now, /db/key and /info/section)
  • Refine documentation
  • Address golint warnings

2.1.0

4 years ago
  • Clients will be able to get the same information as they run INFO command in Redis CLI.
  • Implementation of /info endpoint is simplified significantly.

2.0.0

4 years ago

A new endpoint /info (or /info/<section>) is added to support exposing results of INFO command.

This allows users to check Redis DB status easily. More importantly, it allows Rediseen to become a connector between Redis DB and any monitoring system/dashboard.

Others:

  • Fix typos
  • Refactor for better code base structure

1.4.1

4 years ago

It was changed by accident in the last dev cycle

1.4.0

4 years ago
  • Signification code refactoring, but change in usage/API
  • Integration tests cover all major Redis versions now
  • Update Dockerfile to allow run command easilier with docker run
  • Refine documentation

1.3.0

4 years ago

API Key Authentication

API Key authentication is supported now.

If environment variable REDISEEN_API_KEY is set and is not "", authentication is enforced. Then client has to add X-API-KEY in HTTP header in order to access API, otherwise a 401 error will be given.

By default, there is no authentication enforced, but a WARNING will be printed in the log.

More strict check on the request path

For example, request like /0/key:0/0/0 will get a error reminder return.

Integration test is added

Integration test is added, and it's against multiple Redis versions.