Skip to content
Snippets Groups Projects

Cache service

Cache service exposes HTTP interface for working with Redis.

Basic Architecture

flowchart LR
   A[Client] -- request --> B[Cache Service] --> C[(Redis)]

API Documentation

The API Documentation is accessible at /swagger-ui path in OAS 3.0 format. Example: http://localhost:8080/swagger-ui

Dependencies

There must be a running instance of Redis visible to the service. The address, username and password of the Redis in-memory store instance must be provided as environment variables.

Example:

REDIS_ADDR="localhost:6379"
REDIS_USER="user"
REDIS_PASS="pass"

Development

This service uses Goa framework v3 as a backbone. This is a good starting point for learning to use the framework.

Dependencies and Vendor

The project uses Go modules for managing dependencies and we commit the vendor directory. When you add/change dependencies, be sure to clean and update the vendor directory before submitting your Merge Request for review.

go mod tidy
go mod vendor

Tests and Linters

To execute the units tests for the service go to the root project directory and run:

go test -race ./...

To run the linters go to the root project directory and run:

golangci-lint run